❗프로젝트 설계하기
-필요한 기능 확인
1. 키워드로 상품 검색하고 그 결과를 목록으로 보여주기
2. 관심 상품 등록하기
3. 관심 상품 조회하기
4. 관심 상품에 원하는 가격 등록하고, 그 가격보다 낮은 경우 표시하기
키워드로 상품 검색하고 그 결과를 목록으로 보여주기 | GET | /api/search?query=검색어 | List<ItemDto> |
관심 상품 등록하기 | POST | /api/products | Product |
관심 상품 조회하기 | GET | /api/products | List<Product> |
관심 상품에 관심 가격 등록하고, 그 가격보다 낮은 경우 표시하기 | PUT | /api/products/{id} | id |
-3계층 설계하기
- Controller
- ProductRestController: 관심 상품 관련 컨트롤러
- SearchRequestController: 검색 관련 컨트롤러
- Service
- ProductService: 관심 상품 가격 변경
- Repository</aside>
- Product: 관심 상품 테이블
- ProductRepository: 관심 상품 조회, 저장
- ProductRequestDto: 관심 상품 등록하기
- ProductMypriceRequestDto: 관심 가격 변경하기
- ItemDto: 검색 결과 주고받기
❗관심 상품 조회하기
-Timestamped 클래스
-Product 클래스
-ProductRepository 만들기
-ProductRestController
❗관심 상품 등록하기
상품을 검색한 후, 등록 버튼을 눌렀을 때 관심 상품이 생성되어야 합니다.
검색 결과에서 제목, 이미지, 링크, 최저가를 가져오기
-ProductRequestDto 클래스
-ProductMypriceRequestDto 클래스
-Product 클래스 개선하기
-ProductService 만들기
-ProductRestController 개선하기(관심 상품 등록하기)
❗키워드로 상품 검색하기
1. 검색어를 요구에 따라 바꿀 수 있어야 합니다.
2. 검색 결과를 문자열에서 DTO로 바꿔야 합니다.
-NaverShopSearch search메소드 변경
-org.json 패키지 설치
JSON을 자바에서 다루기 위해, JSONObject, JSONArray 클래스
// https://mvnrepository.com/artifact/org.json/json
implementation group: 'org.json', name: 'json', version: '20160810'
-JSONObject, JSONArray
-ItemDto(아이템의 정보를 담기 위한 클래스)
❗키워드로 네이버 API와 서비스 연결
-요구 조건
- 사용자가 검색어를 입력하면, 컨트롤러가 그것을 전달받습니다.
- 전달받은 검색어로 네이버 API에 요청하고, 그 결과를 사용자에게 응답합니다.
-NaverShopSearch 컴포넌트 등록
더 이상 검색을 main 메소드에서 진행하는게 아니라, Controller 에서 가져다 써야 합니다.
스프링이 자동으로 필요한 클래스를 필요한 곳에 생성하려면,
"아, 사용자가 요구하면 자동으로 생성할 클래스 목록이 이것이구나" 라고 확인할 수 있어야 하겠죠?
그 목록에 등록하는 간단한 방법이 바로 컴포넌트 등록!
-SearchRequestController 만들기
'🔻Back-End > Spring' 카테고리의 다른 글
[Spring] 웹개발의 봄, Spring 5주차 (0) | 2022.07.21 |
---|---|
[Spring] 웹개발의 봄, Spring 4주차-3 (0) | 2022.07.19 |
[Spring] 웹개발의 봄, Spring 4주차-1 (0) | 2022.07.18 |
[Spring] 웹개발의 봄, Spring 3주차-3 (0) | 2022.07.13 |
[Spring] 웹개발의 봄, Spring 3주차-2 (0) | 2022.07.13 |