프로젝트 정리/애완동물 종합 솔루션(CatDogForest)

Kakao Map API with 애완동물병원#4

RestTemplate를 이용해서 카카오 지도 coord2regioncode 서비스를 이용하던 중

401 Unauthorized: "{"errorType":"AccessDeniedError","message":"wrong appKey({appkey}) format"}" 에러가 발생했다.

 

여러 예제를 가져와서 생각없이 사용하다가 발생했는데

해결방법은 appkey를 중괄호로 감싸서 header에 넣었는데 그렇게 하면 안되고 key값만 넣어야 작동했다.

private final String key = "{app_key}"; ->
private final String key = "app_key";

String x = "190562.90915523";
String y = "189333.017062573";
String url = "https://dapi.kakao.com/v2/local/geo/coord2regioncode.json";

StringBuilder sb = new StringBuilder();
sb.append(url);
sb.append("?x=");
sb.append(x);
sb.append("&y=");
sb.append(y);
sb.append("&input_coord=TM");
sb.toString();

RestTemplate restTemplate = new RestTemplate();
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set("Authorization", "KakaoAK "+key);

HttpEntity<?> entity = new HttpEntity<>(httpHeaders);
ResponseEntity<Map> response = restTemplate.exchange(sb.toString(), HttpMethod.GET, entity, Map.class);

System.out.println(response.getBody());

출력 값

{meta={total_count=2}, documents=[{region_type=B, code=2917012700, address_name=광주광역시 북구 일곡동, region_1depth_name=광주광역시, region_2depth_name=북구, region_3depth_name=일곡동, region_4depth_name=, x=126.897275132737, y=35.206037279421416}, {region_type=H, code=2917066900, address_name=광주광역시 북구 일곡동, region_1depth_name=광주광역시, region_2depth_name=북구, region_3depth_name=일곡동, region_4depth_name=, x=126.897275132737, y=35.206037279421416}]}

 

이제 공공데이터 포털에서 가져온 동물병원위치 데이터를 넣은 db에서 모든 위치 정보를 가져와서 내가 사용할 db로 변경하자.