spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
>> 이건 모키토때문
=====================
naver:
url:
search:
local: https://openapi.naver.com/v1/search/local.json
image: https://openapi.naver.com/v1/search/image
client:
id: QL0yLyXpTNGl8wERPmUp
secret: SGRA5GhpO4
@Component
public class NaverClient {
@Value("${naver.client.id}")
private String naverClientId;
@Value("${naver.client.secret}")
private String naverClientSecret;
@Value("${naver.url.search.local}")
private String naverLocalSearchUrl;
@Value("${naver.url.search.image}")
private String naverImageSearchUrl;
public SearchLocalRes searchLocal(SearchLocalReq searchLocalReq){}
public void searchImage(){}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SearchLocalRes {
~~~
private List<SearchLocalItem> items;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class SearchLocalItem{
private String title;
private String link;
private String description;
private String telephone;
private String address;
private String roadAddress;
private int mapx;
private int mapy;
}
public SearchLocalRes searchLocal(SearchLocalReq searchLocalReq){
var uri = UriComponentsBuilder.fromUriString(naverLocalSearchUrl)
.queryParams(searchLocalReq.toMultiValueMap())
.build()
.encode()
.toUri();
var headers = new HttpHeaders();
headers.set("X-Naver-Client-Id", naverClientId);
headers.set("X-Naver-Client-Secret", naverClientSecret);
headers.setContentType(MediaType.APPLICATION_JSON);
var httpEntity = new HttpEntity<>(headers);
var responseType = new ParameterizedTypeReference<SearchLocalRes>(){};
var responseEntity = new RestTemplate().exchange(
uri,
HttpMethod.GET,
httpEntity,
responseType
);
return responseEntity.getBody();
}
@SpringBootTest
public class NaverClientTest {
@Autowired
private NaverClient naverClient;
@Test
public void searchLocalTest(){
var search = new SearchLocalReq();
search.setQuery("갈비집");
var result = naverClient.searchLocal(search);
System.out.println(result);
}
}
ch10.5 front view 붙이기 (0) | 2022.08.17 |
---|---|
ch4. rest API 개발(2) - service (0) | 2022.08.16 |
ch10. 네이버API이용 맛집List 만들기 db셋팅 (1) | 2022.08.10 |
ch9. swagger (0) | 2022.08.10 |
ch8 JUnit으로 테스트하기 (0) | 2022.08.09 |
댓글 영역