<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>Naver Open API - local ::'갈비집'</title> <link>http://search.naver.com</link> <description>Naver Search Result</description> <lastBuildDate>Tue, 04 Oct 2016 13:10:58 +0900</lastBuildDate> <total>407</total> <start>1</start> <display>10</display> <item> <title>조선옥</title> <link /> <category>한식>육류,고기요리</category> <description>연탄불 한우갈비 전문점.</description> <telephone></telephone> <address>서울특별시 중구 을지로3가 229-1 </address> <roadAddress>서울특별시 중구 을지로15길 6-5 </roadAddress> <mapx>311277</mapx> <mapy>552097</mapy> </item> ... </channel> </rss>
Java 에서 해보기
강사님 코드가 제공 되어 가져와서 빌드 하니 잘 동작 한다. 강사님 코드를 참고 해서 코딩을 해보니 API 호출 시 응답은 200으로 잘 오는데 맛집 정보는 item = 0 으로 온다. 이리저리 고쳐봐고 다르게 코딩을 해 보도 동일한다. 검색어를 영어로 해보니 정보가 담아져서 온다.
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 );
private static Gson gson;
static Local convertData(String json) {
if (gson == null)
gson = new Gson();
Local local = gson.fromJson(json, Local.class);
return local;
}