본문 바로가기
미니프로젝트

1. 나만의 셀렉샵 - 자바를 통해 API 이용하기 (스프링부트)

by DDveloper 2021. 3. 24.
  • 네이버 쇼핑 API를 가져와서 검색어에 맞는 물건정보를 보여주고 나만의 관심 물품 등록 가능
  • 관심 물품의 가격을 입력할 수 있고 입력한 가격보다 낮은 가격의 동일 제품이 있을 경우 알림버튼을 띄어준다.

 

네이버 API 이용 신청하기

developers.naver.com/docs/serviceapi/search/shopping/shopping.md#%EC%87%BC%ED%95%91

  • 링크에서(검색-쇼핑 api이용) api 이용신청 -> 서비스환경 : WEB설정 -> url : http://localhost
  • 클라이언트 아이디 / 패스워드 확인

 

네이버 API 사용

developers.naver.com/docs/search/shopping/

  • 링크에서 API 기본 정보 출력포맷 json인 url 복사

해당 url을 호출해서 API 사용 가능

  • 호출 방법
curl "https://openapi.naver.com/v1/search/shop.xml?query=%EC%A3%BC%EC%8B%9D&display=10&start=1&sort=sim" \
//    url ?쿼리 = 한글인코딩값 & 10개 & 시작 1 
    -H "X-Naver-Client-Id: {애플리케이션 등록 시 발급받은 client id 값}" \
    -H "X-Naver-Client-Secret: {애플리케이션 등록 시 발급받은 client secret 값}" -v

 

ARC를 통해 API사용 확인

  • URL(위에서 찾은) 붙여넣기 - HEADERS에 위에 호출방법에 있는 양식 참고해서 밑에 사진처럼 넣기

ARC

 

자바로 네이버 쇼핑 API 이용하기

  • ARC에서 정상적으로 데이터가 나온다면 CODE 메뉴에서 JAVA - SPRING 코드 확인

  • 인텔리제이에서 프로젝트 만든 후 java 클래스 생성 - search라는 메소드 안에 위에 SPRING 코드 넣기
public class NaverShopSearch {
    public String search() {
    	RestTemplate rest = new RestTemplate();		//각각의 클래스 생성
        HttpHeaders headers = new HttpHeaders();
        headers.add("X-Naver-Client-Id", "zdqMoIkFaK8uKvC2oNY2");	// 알맞은 헤더 넣어주기
        headers.add("X-Naver-Client-Secret", "LiZfsgtuD5");
        String body = "";

        HttpEntity<String> requestEntity = new HttpEntity<String>(body, headers); //body에 응답 받아서 requestEntity에 넣어주기
        ResponseEntity<String> responseEntity = rest.exchange("https://openapi.naver.com/v1/search/shop.json?query=" + query, HttpMethod.GET, requestEntity, String.class);
        HttpStatus httpStatus = responseEntity.getStatusCode();
        int status = httpStatus.value();				// ex) 200, 404, 400 ..
        String response = responseEntity.getBody();		// 결과가 문자열로 response에 담김
        System.out.println("Response status: " + status);
        System.out.println(response);

        return response;	//결과값이 담겨있는 response 리턴
    }

    public static void main(String[] args) {
        NaverShopSearch naverShopSearch = new NaverShopSearch();
        naverShopSearch.search();
    }
}

 

 

인텔리제이로 프로젝트 만들고 초기 설정 확인

  • Settings(ctrl+alt+s) 들어가서 auto import 검색 -> Always 확인, Add~~ 체크
  • compiler 검색 -> Annotation Processors -> Enable ~~ 체크

댓글