Spring Framework

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

na_o 2021. 7. 25. 00:49
728x90

- 네이버 쇼핑 API 설명 문서

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

 

검색 API 쇼핑 검색 개발가이드

NAVER Developers - 검색 API 쇼핑 검색 개발가이드

developers.naver.com

 

 

가이드에 써 있는 대로 url 복사

우리는 JSON을 쓸 것이라 아래에 써있는 url 복사

 

 

가이드대로 요청 시 보내줘야 할 데이터를 ARC에 입력해주기

 

header에 입력한 값은 가이드 링크에 들어가면 있는 "오픈 API 이용 신청"을 눌러서 하라는 대로 하면 얻을 수 있음.

쿼리스트링의 변수는 자신이 검색하고 싶은 것을 일단 영어로 입력하기(변수 query의 값은 한글이 인코딩되어있어야 함)

ARC 프로그램 화면

 

일단 비행기 버튼을 눌러 send 하면 이러한 결과값을 얻을 수 있음.

 

CODE SNIPPETS -> JAVA -> SPRING 을 눌러주면 알아서 필요한 데이터를 보내고 조회해와서 결과값을 주는 코드가 짜여진다...너무 편리하다...

감탄...처음 알았다.. 이걸 사용할것임 복사하기!

 

위에서 복사해온 코드를 아래처럼 붙여넣음

package com.sparta.week04.utils;

...

public class NaverShopSearch {
    //Java에서 url에 한글로 입력을 해도 인코딩을 알아서 해줌
    public String search() {
        RestTemplate rest = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        //네이버 API가 정의한대로 헤더를 넘겨줌
        headers.add("X-Naver-Client-Id", "Fzj17ucnTdxEPXlsLH8O");
        headers.add("X-Naver-Client-Secret", "Tpspa8UeG_");
        String body = ""; //응답받은 결과물이 들어갈 변수

        HttpEntity<String> requestEntity = new HttpEntity<String>(body, headers);
        ResponseEntity<String> responseEntity = rest.exchange("https://openapi.naver.com/v1/search/shop.json?query=아디다스", HttpMethod.GET, requestEntity, String.class);
        HttpStatus httpStatus = responseEntity.getStatusCode();
        int status = httpStatus.value(); //200이나 404 이런게 들어감
        String response = responseEntity.getBody(); //Request에 대한 Response가 문자열로 들어감
        System.out.println("Response status: " + status);
        System.out.println(response);

        return response;
    }

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

 

- 코드 실행 결과

아까 ARC에서 봤던 데이터가 콘솔에 나옴