Spring-study๐ฑ/SpringBoot-JPA53 Section 8-2. ํ์ ์์ API ๊ฐ๋ฐ ํ์์ ์์ ํ๋ ๊ฒฝ์ฐ์๋ HTTP ๋ฉ์๋๋ฅผ PUT์ผ๋ก ์ค์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์๋ค. @PathVariable : URL ๊ฒฝ๋ก์ ๋ณ์๋ฅผ ๋ฃ์ด์ฃผ๋ ๊ฒ์ผ๋ก ์ด๋ฅผ ์ด์ฉํด {ํ ํ๋ฆฟ ๋ณ์}์ ๋์ผํ ์ด๋ฆ์ ๊ฐ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐํด์ฃผ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์๋ id๊ฐ์ด๋ค. ํ์ ์์ ์ด ์ ๋๋์ง ํ์ธํ๊ธฐ ์ํด์ ์๊น ๋ง๋ ํ์๊ฐ์ ๋ก์ง์ผ๋ก ํ์์ ํ๋ ๋ง๋ ๋ค์ ํ์ ๋ฒํธ๋ฅผ URL์ ๋ณ์๋ก ๋ฃ์ด์ค์ผ๋ก์จ ํด๋น ํ์์ ์ด๋ฆ์ ๋ณ๊ฒฝํด๋ณด์๋ค. DB์๋ ๋ณ๊ฒฝ๋ ์ด๋ฆ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ค์ด๊ฐ ๊ฒ์ ๋ณผ ์ ์๋ค. 2022. 8. 2. Section 8-1. ํ์ ๋ฑ๋ก API ๊ฐ๋ฐ ํ์ ๋ฑ๋ก API๋ฅผ ๊ฐ๋ฐํด๋ณด์. API ๊ฐ๋ฐ์ ์์ POSTMAN์ด๋ผ๋ REST API ํด์ ๋ค์ด๋ก๋ ๋ฐ๋๋ค. Postman API Platform Postman API Platform | Sign Up for Free Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. www.postman.com ์ํฐํฐ๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ๊ฒฝ์ฐ API๋ฅผ ์ค๊ณํ๋๋ฐ ์์ด web controller package์ api controller package๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ.. 2022. 8. 2. Section 7-9. ์ฃผ๋ฌธ ๋ชฉ๋ก ๊ฒ์, ์ทจ์ ์ฃผ๋ฌธ ๋ชฉ๋ก์ ๊ฒ์ํ๊ธฐ ์ํ ์ปจํธ๋กค๋ฌ์ ์ฃผ๋ฌธ ๋ชฉ๋ก ๊ฒ์ ํ๋ฉด, ์ฃผ๋ฌธ ์ทจ์๋ฅผ ๊ตฌํํด๋ณด์. ์ฃผ๋ฌธ ๋ชฉ๋ก ๊ฒ์ ๋ฐ ์ทจ์ ์ปจํธ๋กค๋ฌ ์ฃผ๋ฌธ ๋ชฉ๋ก ๊ฒ์ ํ๋ฉด( order/orderList ) ์ฃผ๋ฌธ์ํ option ๊ฒ์ # ํ์๋ช ๋ํ์ํ ์ด๋ฆ ๋ํ์ํ ์ฃผ๋ฌธ๊ฐ๊ฒฉ ๋ํ์ํ ์ฃผ๋ฌธ์๋ ์ํ ์ผ์ CANCEL ์คํ ํ๋ฉด ์ฃผ๋ฌธ์ ํ๊ฒ ๋๋ฉด ์ฃผ๋ฌธ ๋ชฉ๋ก์ ์ ๋จ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๋ํ ์ฃผ๋ฌธ์ํ๊ฐ ORDER/CANCEL์ธ์ง์ ๋ฐ๋ผ ์ฃผ๋ฌธ ๋ชฉ๋ก์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์๋๋ค. ๊ทธ๋ฆฌ๊ณ CANCEL๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ฉด ์ฃผ๋ฌธ์ด ์ทจ์๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฌ๊ธฐ๊น์ง ํ์ ๊ฐ์ , ํ์ ๋ชฉ๋ก, ์ํ ๋ฑ๋ก, ์ํ ๋ชฉ๋ก, ์ํ ์ฃผ๋ฌธ, ์ฃผ๋ฌธ ๋ด์ญ ๊ธฐ๋ฅ์ ๋ง๋ค์ด ๋ณด์๋ค. ๋ค ์ค์ํ๊ฒ ์ง๋ง ์ํ ์์ ํ ๋ ๋ณํฉ์ ์ฐ์ง๋ง๊ณ ๋ณ๊ฒฝ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ์์ง ๋ง.. 2022. 5. 23. Section 7-8. ์ํ ์ฃผ๋ฌธ ์ํ ์ฃผ๋ฌธ ๊ธฐ๋ฅ์ ์ปจํธ๋กค๋ฌ์ ์ฃผ๋ฌธ ํผ ์ด๋ ๋ฐ ์ฃผ๋ฌธ ์คํ์ ๊ตฌํํด๋ณด์. ์ํ ์ฃผ๋ฌธ ์ปจํธ๋กค๋ฌ package jpabook.jpashop.controller; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.item.Item; import jpabook.jpashop.repository.service.ItemService; import jpabook.jpashop.repository.service.MemberService; import jpabook.jpashop.repository.service.OrderService; import lombok.RequiredArgsConstructor; import org.springframewor.. 2022. 5. 23. Section 7-7. ๋ณ๊ฒฝ ๊ฐ์ง์ ๋ณํฉ(merge) ์ ๋ง ์ค์ํ ๋ด์ฉ์ด๋ ๊ผญ! ์๋ฒฝํ๊ฒ ์ดํดํ์!! ์ค์์ ์ํฐํฐ? ์์์ฑ ์ปจํ ์คํธ๊ฐ ๋๋ ๊ด๋ฆฌํ์ง ์๋ ์ํฐํฐ๋ฅผ ๋งํ๋ค. (์ฌ๊ธฐ์๋ itemService.saveItem(book) ์์ ์์ ์ ์๋ํ๋ Book ๊ฐ์ฒด๋ค. Book ๊ฐ์ฒด๋ ์ด๋ฏธ DB์ ํ๋ฒ ์ ์ฅ๋์ด์ ์๋ณ์๊ฐ ์กด์ฌํ๋ค. ์ด๋ ๊ฒ ์์๋ก ๋ง๋ค์ด๋ธ ์ํฐํฐ๋ ๊ธฐ์กด ์๋ณ์๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด ์ค์์ ์ํฐํฐ๋ก ๋ณผ ์ ์๋ค.) ์ฆ, ์ฌ๊ธฐ์๋ ๋ด๊ฐ setter๋ฅผ ์ฌ์ฉํด ์ง์ ๊ฐ์ ๋ณ๊ฒฝํ ๊ฒ์ด๊ณ JPA๊ฐ ์์์ ๊ด๋ฆฌํ๋ ์์์ํ ์ํฐํฐ๊ฐ ์๋๋ผ๋ ๊ฒ์ด๋ค. ์ค์์ ์ํฐํฐ๋ฅผ ์์ ํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋ณ๊ฒฝ ๊ฐ์ง ๊ธฐ๋ฅ ์ฌ์ฉ ๋ณํฉ( merge ) ์ฌ์ฉ ๋ณ๊ฒฝ ๊ฐ์ง ๊ธฐ๋ฅ ์ฌ์ฉ Id๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์์ฑ ์ปจํ ์คํธ์์ ์์์ฑ ์ํฐํฐ๋ฅผ ๊ฐ์ ธ์๊ธฐ์์ฌ๊ธฐ์ findItem์ ์์์ํ์ด๋ค. ๊ฐ.. 2022. 5. 23. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 11 ๋ค์