4-2 네이버 쇼핑 API 이용 신청하기
- 오픈 api신청
- 애플리케이션 이름,
오픈API서비스 환경 - 어디서 쓸건지.
주소 - http://localhost : 내컴퓨터에서 사용
- Client ID, Client Secret - naver API를 이용할 때마다 필요
4-3 네이버 쇼핑 API 바로 사용
- API 기본정보
출력포맷(JSON)에 맞게 주소 요청
- 요청변수
query로 검색을 전달해주어야 함, 필수 (UTF-8는 자동)
display : 몇개의 결과 얻고 싶은지
ARC에 GET요청 해보기
https://openapi.naver.com/v1/search/shop.json?query=아디다스
- ? : url이 아니라 필요한 정보를 보내는 거임. 검색으로 넘겨줌
- query : query로 검색어 입력
- HEADERS
Header name
:X-Naver-Client-Id
:X-Naver-Client-Secret
Parameter value
:발급받은 값들.
--> 제대로 출력X (자바에서는 바로 반영이되지만 ARC는 utf-8인코딩이 자동으로 안돼서 '아디다스'를 네이버 서버가 잘 알아듣지 못함 --> 영어는 가능)
https://openapi.naver.com/v1/search/shop.json?query=iphone&sort=asc
--> 요청변수 정렬 오름차순 추가
4-4 자바로 네이버 쇼핑 API 이용하기
ARC
- 요청을 해서 결과값이 잘 오는지 파악 가능
- 이 사용을 내가 사용하는 플랫폼에 맞게 코딩까지해줌
CODESNIFFET - > JAVA
기본 세팅
ctrl + alt + s
- auto import
--> insert imports on paste : aways
--> add unambihuous imports on the fly
- compiler > Annotation Processors
--> Enable annotation processing

200 : 값을 잘 받아왔다는 표시
--> status에 200이 들어감
4-6 관심 상품 조회하기
- 검색 : 네이버 API의 결과를 보여주면 됨
- 관심상품 등록 : 데이터베이스에 저장해야함.
Product 클래스가 관심상품을 대표한다고 하면 데이터베이스의 한 테이블임.
4-7 관심 상품 등록하기
- ProductRequestDto : 관심상품을 등록할 때 필요
- ProductMypriceRequestDto : 내가 설정한 관심 가격을 변경하기 위해 필요
4-8 키워드로 상품 검색하기
검색 결과를 문자열에서 DTO로 바꾸기
4-9 키워드로 상품 검색하기 - 네이버 API와 서비스 연결
- NavaerShopSearch를 컴포넌트로 등록하기
: 검색을 NavershopSearch의 main 메소드에서 하는 것이 아닌, Controller에서 가져다 써야함.
--> 스프링이 필요한 클래스를 필요한 곳에 자동으로 생성하려면 권한 판단이 필요함.
(final,@RequiredArgsConstructor배경에 컴포넌트가 있음)
--> Controller,Entity,Service는 자동으로 컴포넌트에 등록이 되어있으나, NaverShopsearch는 수동으로 우리가 등록을 해 주어야 함.
==> 컴포넌트 : 스프링한테 클래스 사용 권한을 주는 것
4-12 관심 상품 등록하기
- addProduct
ajax를 통해 값 전달하고 js에서 받을 때 다시 js에서 자동으로 json으로 변형하기 때문에 파라미터로 값을 전달받을 때 다시 json을 문자열로 변환해 주어야 함.
4-14 스케줄러 만들기
- 스케줄러 : 관심 상품으로 등록했을 당시와 다른 가격 변동이 있을 경우 수시로 db정보를 업데이트 해 주어야 함.
--> 매일 새벽 1시에 관심 상품 목록 제목으로 검색해서 ,최저가 정보를 업데이트하는 스케줄러 생성.