반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- cypress React
- 테스트코드책
- 시스템설계면접팁
- 시스템설계방법
- git commit 협업
- file not found Error
- 리팩토링2판4장
- 전략패턴
- git squash
- formik react-query submitting not working
- awss3
- react-ga
- s3이미지다운로드됨
- 리팩터링2판테스트
- react
- 디자인패턴
- gitsquash
- 가상면접3장
- 헤드퍼스트전략패턴
- formik submitting not working
- 시스템설계면접예시
- FirebaseAnalytics
- cypressBDD
- 가상면접으로대규모시스템
- git commit merge
- Git commit 합치기
- 시스템설계면접
- 리액트구글애널리틱스
- 시스템설계
- 가상면접2장
Archives
- Today
- Total
mingg IT
[API] 네이버 쇼핑 open API 사용법 본문
네이버 쇼핑 API를 사용하는 방법을 알아보겠다.
1. https://developers.naver.com/docs/serviceapi/search/shopping/shopping.md#%EC%87%BC%ED%95%91
접속해서 쫙 읽어보면 예시 에 호출이 있다.
보면 헤더로는 X-Naver-Client-Id, X-Naver-Client-Screet가 필요하다고 되어있다.
코드는 아래와 같다.
package com.example.springserver.controller;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import com.example.springserver.dto.Req;
import com.example.springserver.dto.User;
import org.springframework.http.RequestEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
@RequestMapping("/springapi/server")
public class ServerApiController {
@GetMapping("/naverShopping")
public String naverShopping() {
String cloth = "원피스";
// https://openapi.naver.com/v1/search/shop.xml?query=%EC%A3%BC%EC%8B%9D&display=10&start=1&sort=sim
URI uri = UriComponentsBuilder.fromUriString("https://openapi.naver.com").path("/v1/search/shop")
.queryParam("query", cloth).queryParam("display", 10).queryParam("start", 1).queryParam("sort", "sim")
.encode().build().toUri();
RestTemplate restTemplate = new RestTemplate();
RequestEntity<Void> requestEntity = RequestEntity.get(uri).header("X-Naver-Client-Id", "myheader")
.header("X-Naver-Client-Secret", "mysecret").build();
ResponseEntity<String> result = restTemplate.exchange(requestEntity, String.class);
return result.getBody();
}
}
URI 를 이용해서 "http://openapi.naver.com", path에 넣어주고
queryParam으로 query, display, start를 넣어준다.
이후
RestTemplate를 이용해서 header값 두개를 넣어주고 ResponseEntity의 body를 출력한다.
보면 header에서 myheader, mysecret는 아래 있는 값을 복사해서 그대로 넣는다.
나는 requestMapping주소로 ("/springapi/server")를 사용했고, port는 9090을 사용했기 때문에
http://localhost:9090/springapi/server/naverShopping 아래에 접속해보면
다음과 같은 결과를 얻을 수 있다.
'기타' 카테고리의 다른 글
[Hadoop] Ubuntu 20.4 Hadoop 3.3.0 설치하기 (0) | 2022.01.22 |
---|---|
[기타] 웹사이트 분석 Wappalyzer (0) | 2022.01.17 |
[Mac] 맥북 에어 nvm : command not found 에러 해결법 (0) | 2021.11.15 |
[기타] firebase로 react 프로젝트 배포하기 (0) | 2021.11.11 |
[기타] 로컬 페이지 외부 url로 띄우기 (0) | 2021.10.31 |
Comments