본문 바로가기
스프링 (Spring)/SelectShop Project

네이버 쇼핑 API 사용 & Select Shop프로젝트 생성

by 후닝훈 2021. 7. 31.
반응형

API 기본 정보

- XML : 정보를 조작하는 방식중 하나

- JSON : 정보를 조작하는 방식 중 하나. JSON을 사용할 것이기 때문에 JSON 방식

 

요청 변수

- 요청하는데에 있어, 정보들을 넘겨주는 변수

- 네이버에서 지정한 대로 수행하면 된다.

 

Query

- 반드시 필요한 항목

- UTF-8 인코딩은 ARC나 JAVA에서 자동으로 수행한다.

Display

- 몇개의 항목씩 가져올지 결정하는 요청변수

Start

- 몇번째 페이지를 가져올 것인지 정해주는 요청변수

Sort

- 정렬기준 변수

 

호출예시

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

- API 요청 주소 (https://openapi.naver.com/v1/search/shop.xml)

- ? 후에는 요청변수

- H는 Header로서, 발급받은 클라이언트 ID와 Secret을 넘겨주면 된다.

 

출력결과

- 더 다양한 출력 결과가 존재한다.


 

ARC를 통하여 네이버 API 사용해보기

'

결과

 

ARC의 기능

요청한 API를 자동으로 코드로 변경해주는 기능이 존재한다.

Code Snippets 탭으로 가면 여러 언어들로 설정할 수 있다.


 

네이버샵 프로젝트 생성

 

디렉토리 구조

 

NaverShopSearch.java

public class NaverShopSearch {
    public String search() {
    }

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

 

Search 함수

RestTemplate rest = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.add("X-Naver-Client-Id", "-");
headers.add("X-Naver-Client-Secret", "-");
String body = "";

HttpEntity<String> requestEntity = new HttpEntity<String>(body, headers);
ResponseEntity<String> responseEntity = rest.exchange("https://openapi.naver.com/v1/search/shop.json?query=iphone", 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);

- ARC에서 가져온 Spring Java 코드를 붙여넣어준다.

 

반응형

댓글