RestAPI 를 이용한 지도 로컬 검색 질문입니다

카카오 로컬의 기본인 주소검색에서부터 막혔습니다 ㅜㅜ 결과값이 안나옵니다. 우선 코드입니다.

String url = “https://dapi.kakao.com/v2/local/search/address.json”;
url += “?query=”+query; <-- query는 매개변수로 받고있습니다.

HttpURLConnection con = (HttpURLConnection)(new URL(url)).openConnection();
con.setRequestMethod(“GET”);
con.setRequestProperty(“Authorization”, "KakaoAK " + kakaoAppKey);

int responseCode = con.getResponseCode();
BufferedReader br;
if(responseCode == 200) {
br = new BufferedReader(new InputStreamReader(con.getInputStream(), “UTF-8”));
} else {
br = new BufferedReader(new InputStreamReader(con.getErrorStream(), “UTF-8”));
}

String line;
StringBuffer sbuf = new StringBuffer();
while ((line = br.readLine()) != null) {
sbuf.append(line);
}
br.close();

return sbuf.toString();

해서 해당 return 값을 출력해봐도

{“meta”:{“is_end”:true,“total_count”:0,“pageable_count”:0},“documents”:[]}

위에 결과처럼 아예 결과값이 뜨지 않습니다 ㅜㅜ 왜 안뜨는걸까요?
그리고 query 값에 띄어쓰기를 넣으면 error 메시지가 뜨는데 띄어쓰기 처리는 어떻게 해야하나요?

쿼리 인코딩 문제일 겁니다.

이 쓰레드와 답변을 참고해서 작성해 보세요.

1개의 좋아요

두번째줄 url += “?query=”+query; 부분을
url += “?query=”+URLEncoder.encode(query, “UTF-8”); 로 변경했습니다.

query 값에 띄어쓰기 넣어서 나오는 오류는 해결되었습니다! 감사합니다. 그런데 여전히 결과값은

{“meta”:{“is_end”:true,“total_count”:0,“pageable_count”:0},“documents”:[]} 이렇게 뜨고있습니다.

어떤게 문제일까요…? ㅜㅜ

찾았네요. 명확한 주소값을 쿼리로 주지않으면 결과값을 안주는거였군요…!

그…그럴겁니다. ^^;

1개의 좋아요