-
Spring boot: RestTemplate - Naver 지역 검색 api 연동해보기Spring Boot 🍃 2023. 12. 5. 00:01
1.
네이버 개발자센터에서 검색 api를 사용하기 위해 open api 이용신청을 하고 인증키를 받아둔다.
네이버 개발자 센터에서 제공되는 검색 api 문서를 참고하며 진행!
2. api키 숨기기
위에서 받은 네이버 api 인증키를 properties 파일이나 yaml 파일을 새로 만들어서 입력해준 후,
// key.yaml naver: client-id: asdhlagfkjdshg secret: sdfjhakjdhfgukiyfdgiulz
application.properties 파일에 아래 문장을 입력해 주면 자바 파일에서 사용할 수 있다. 그리고 위에서 만들어준 파일은 꼭
.gitignore
에 입력해주어야 git에 업로드 되지 않는다.spring.config.import=classpath:api-key-있는-파일.확장자
자바 파일에서 [ api-key-있는-파일.확장자 ]에 들어있는 변수를 사용할 때는 아래와 같이 사용하면 된다.
@Value("${naver.client-id}") private final String NAVER_API_ID; @Value("${naver.secret}") private final String NAVER_API_SECRET;
3. controller 소스 코드
@Value("${naver.client-id}") private final String NAVER_API_ID; @Value("${naver.secret}") private final String NAVER_API_SECRET; // http://localhost:8888/api/server/naver/검색어입력 @GetMapping("/naver/{name}") public String naver(@PathVariable String name) { URI uri = UriComponentsBuilder .fromUriString("https://openapi.naver.com/") .path("v1/search/local.json") .queryParam("query", name) //query=검색어&display=10&start=1&sort=random .queryParam("display", 10) .queryParam("start", 1) .queryParam("sort", "random") .encode(StandardCharsets.UTF_8) .build() .toUri(); RestTemplate restTemplate = new RestTemplate(); RequestEntity<Void> req = RequestEntity .get(uri) .header("X-Naver-Client-Id", NAVER_API_ID) .header("X-Naver-Client-Secret", NAVER_API_SECRET) .build(); ResponseEntity<String> result = restTemplate.exchange(req, String.class); return result.getBody(); }
'Spring Boot 🍃' 카테고리의 다른 글
Spring boot: H2 DB 인텔리제이에서 확인하기 (0) 2023.12.05 Spring boot : sql dummy data 만들기 (0) 2023.12.05 spring boot : RestTemplate (0) 2023.12.05 spring boot: 비동기 처리하기 (0) 2023.12.05 Spring Boot: Interceptor 인터셉터 (0) 2023.12.05