Notice
Recent Posts
Recent Comments
Link
archive
네이버 쇼핑 검색 API 이용하기 본문
네이버 쇼핑 검색 API에 대한 정보는 아래 링크에서 확인할 수 있다.
검색 API 쇼핑 검색 개발가이드
NAVER Developers - 검색 API 쇼핑 검색 개발가이드
developers.naver.com
먼저, 해당 API를 이용하기 위해서 신청을 해야 한다.
이용신청이 완료되면 client_id와 secrete_key가 발급된다.
자바 애플리케이션에서 사용해보기에 앞서서 ARC로 response를 받아보겠다.
발급받은 두 가지 값을 header에 넣어주고 검색어는 parameter로 넘겨줘야 한다.
parameter에는 검색어 이외에도 정렬 기준 등을 지정할 수 있다. (사이트 참고)
참고로 한글 검색어를 넣는 경우에는 인코딩 문제로 결과가 정상적으로 나오지 않는다. (Postman에서는 정상작동한다.)
자바에서는 자동으로 변환해주므로 테스트할 때는 일단 영어 검색어를 이용하였다.
위 사진에서 CODE탭을 누르고 Java-Spring을 선택하면 동일한 기능을 하는 코드가 자동으로 생성된 것을 확인할 수 있다.
해당 코드를 이용하여 아래와 같이 작성하였다.
public class NaverShopSearch {
public String search() {
RestTemplate rest = new RestTemplate();
//헤더 클래스에 필요한 값 넣어줌
HttpHeaders headers = new HttpHeaders();
headers.add("X-Naver-Client-Id", "qBjYkKq_qWbUE5HxOGwh");
headers.add("X-Naver-Client-Secret", "QtFQO63CYC");
//BODY 있으면 이곳에
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();
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();
}
}
검색어에 고정된 형태가 아닌 변수를 넣으려면, rest.exchange()의 첫번째 인자 URI에서 parameter 다음에 변수를 붙여주면 된다.
String형태로 reponse결과를 전달받는다.
이를 실행해보면 아래와 같이 검색결과를 얻을 수 있다.
문자열 형태로 전달받은 response를 활용하기 위해 JSON으로 변경해야 한다.
이는 다음 포스팅에서 다루도록 하겠다.
'STUDY > Spring' 카테고리의 다른 글
스프링 프로젝트 EC2에 배포, 포트포워딩, 도메인 적용 (0) | 2021.02.17 |
---|---|
JSON 데이터 다루기 - org.json 패키지 (0) | 2021.02.15 |
[JPA] 특정 기간 내의 데이터만 조회하기 (0) | 2021.02.07 |
REST API 실습 (0) | 2021.01.26 |
JPA란? / Domain, Repository, Service / CRUD실습 (0) | 2021.01.21 |
Comments