4주차

허현진·2021년 8월 28일
0

Spring

목록 보기
4/4

4-2 네이버 쇼핑 API 이용 신청하기

  1. 오픈 api신청
  2. 애플리케이션 이름,
    오픈API서비스 환경 - 어디서 쓸건지.
    주소 - http://localhost : 내컴퓨터에서 사용
  3. Client ID, Client Secret - naver API를 이용할 때마다 필요

4-3 네이버 쇼핑 API 바로 사용

  1. API 기본정보
    출력포맷(JSON)에 맞게 주소 요청
  2. 요청변수
    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로 바꾸기

  • org.json설치 : java에서 json을 다루는데 도와주는 라이브러리 (다른 사람이 만들어 놓은거 사용하기)
    --> https://mvnrepository.com/

  • 사용자가 상품을 검색하면 결과를 돌려주어야 함.
    --> 데이터를 물고 나르는 class가 필요함 : itemDTO

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시에 관심 상품 목록 제목으로 검색해서 ,최저가 정보를 업데이트하는 스케줄러 생성.

profile
코딩일지..

0개의 댓글