네이버 개발자센터에서
검색 api를 사용하기 위해 open api 이용신청을 하고 인증키를 받아둔다.
네이버 개발자 센터에서 제공되는 검색 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;
@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();
}