나만의 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; 해준다