Kakao Geocode API로 부터 받은 데이터를 직렬화 하고 JSON객체로 바꾸고 특정 데이터를 얻어오는 작업을 할 것입니다.
Kakao API를 이용하기 위해선 API Key가 필요한데, 이곳 에서 얻을 수 있습니다.
카카오 지도 API로부터 주소로 위도 경도를 받아오기 위해선 이곳에 공식 예제가 있습니다.
받아온 주소 데이터를 JSON으로
헤더에 발급받은 API키를 등록 후 POSTMAN으로 요청을 날려보겠습니다.
https://dapi.kakao.com/v2/local/search/address.json?query=판교역로 235
응답받은 데이터는 이러합니다.
1 | { |
위의 데이터에서 Y
좌표 값과 X
좌표값이 필요하기 때문에 해당 데이터만 가져오도록 하겠습니다.
우선 KAKAO 지도 API로 요청을 보내고 응답을 받습니다.
1 | String APIKey = "발급받은 API 키"; |
받아온 데이터를 JSON 객체로 변환하기 위해 ObjectMapper
를 사용합니다.
1 | ObjectMapper objectMapper = new ObjectMapper(); |
위의 objectMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
는
단일 리스트 객체를 싱글 값과 같게 인식합니다.
ex) "fruits" : ["apple"] 를 "fruits" : "apple"
로 인식
지정된 VO에 응답받은 데이터를 셋팅
지정된 형식에 잘 셋팅하기 위해
1 | KakaoGeoRes bodyJson = objectMapper.readValue(response.getBody().toString(), KakaoGeoRes.class); |
KakaoGeoRes
에 응답받은 데이터를 잘 셋팅하도록 합니다.
1 |
|
X, Y
값만 필요했기 때문에 위와 같이 작성했습니다.
key가 응답받은 데이터와 다르면 에러가 나기 때문에 사용하지 않는 key 도 선언합니다.
X,Y 값에 접근
그 후
1 | bodyJson.getDocuments().get(0).getX() |
위와같이 접근할 수 있습니다.
읽어주셔서 감사합니다.
혹 오류나 질문이 있다면 편하게 코멘트 부탁드리겠습니다!🙆♂️