반응형
사용할 open api
https://developers.naver.com/docs/serviceapi/search/local/local.md#%EC%A7%80%EC%97%AD
api 신청을 하고 등록을 진행한다.
등록이 완료되면 아래와 같은 ID와 Secret이 보여진다.
문서에 예시와 같이 적어서 테스트를 진행해 본다.
테스트 화면 (Talend api Tester를 이용하였다.)
네이버 API를 이용하는 자바 코드
@GetMapping("/naver")
public String naver(){
// 검색할 조건 encoding
String query = "갈비집";
String encode = Base64.getEncoder().encodeToString(query.getBytes(StandardCharsets.UTF_8));
log.info("encoding: {}", encode);
// https://openapi.naver.com/v1/search/local.json
// ?query=\xEA\xB3\xA0\xEA\xB8\xB0\xEC\xA7\x91
// &display=10
// &start=1
// &sort=random
URI uri = UriComponentsBuilder
.fromUriString("https://openapi.naver.com")
.path("/v1/search/local.json")
// .queryParam("query", "encode")
// 직접 넣어주는 방법
.queryParam("query", "IT")
.queryParam("display", 10)
.queryParam("start", 1)
.queryParam("sort", "random")
// UTF-8로 인코딩
.encode(Charset.forName("UTF-8"))
.build()
.toUri();
RestTemplate restTemplate = new RestTemplate();
// header 값 추가 get으로 요청하기 때문에 Void로 받는다.
RequestEntity<Void> req = RequestEntity
.get(uri)
.header("X-Naver-Client-Id","발급받은 ID")
.header("X-Naver-Client-Secret", "발급받은 Secret")
.build();
ResponseEntity<String> result = restTemplate.exchange(req, String.class);
return result.getBody();
}
확인
JSON 형식을 정렬
사이트
https://jsonformatter.curiousconcept.com/#
반응형
'Spring' 카테고리의 다른 글
스프링 부트로 프로젝트 생성 (0) | 2022.06.01 |
---|---|
스프링 부트 이클립스, 인텔리제이 툴로 실행하는 방법 (0) | 2022.04.25 |
Server to Server의 연결 - header 값 지정하는 방법 (0) | 2021.06.26 |
Server to Server의 연결 - post (0) | 2021.06.26 |
Server to Server의 연결 - get (0) | 2021.06.26 |