나만의 select shop 만들기

자바로 네이버 쇼핑 API 사용해보기

코린이 연대기 2020. 12. 3. 10:23

프로젝트 생성~

 

dependencies목록

lombok, h2, mySQL, web, jpa

 

항상 프로젝트를 실행할때에는 두가지 옵션을 확인하자

ctrl + alt + s 로 세팅 들어가기~

 

1. auto import

2. annotation processing

 

우선 네이버 API로 검색하는 기능을 만들어 보자

utils > NaverShopSearch.java

public class NaverShopSearch {
    public String search() {
        RestTemplate rest = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.add("X-Naver-Client-Id", "mGmaVv5HUsl9XXf407tz");
        headers.add("X-Naver-Client-Secret", "3mo1i3q5LN");
        String body = "";

        HttpEntity<String> requestEntity = new HttpEntity<String>(body, headers);
        ResponseEntity<String> responseEntity = rest.exchange("https://openapi.naver.com/v1/search/shop.json?query=cartier", HttpMethod.GET, requestEntity, String.class);
        HttpStatus httpStatus = responseEntity.getStatusCode();
        int status = httpStatus.value();
        String response = responseEntity.getBody();
        System.out.println("Response status: " + status);
        System.out.println(response);
        
        return response;
    }

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

RestAPI 를 사용할 것이기 때문에 RestTemplate

API의 ID와 Secret을 입력하기위한 Headers 

응답을 받으면 requestEntity 에 String 타입의 body를 넣어준다(body 에 응답받은 결과물이 들어감)

httpstatus라는 것은 ARC테스트시 성공하면 나오던 200 이라는 값을 받아온다. 이게 status로 들어가고

getBody로 받아온 내용들을 하나의 문자열로 response에 담아준다.

이후 status를 인쇄하고 response를 찍어준다. 

 

리턴은 결과값이 response에 들어있으니까 return response; 해준다