나와바리 - 위도 경도 좌표로 현재위치를 가져와 해당하는 식당 리스트 반환(메인페이지)

Sungmin·2023년 7월 13일
0

https://developers.kakao.com/docs/latest/ko/local/dev-guide#coord-to-district

진행순서

  1. 사용자의 현재위치 좌표를 프론트엔드로 부터 PostMapping으로 받아온다
  2. 카카오맵 API를 통해 좌표를 넘기고 GET방식으로 documents안의 region_3depth_name(동)값을 가져온다.
  3. 기존에 만들었던 통합검색 기능을 재활용하여 같은 동에 해당하는 식당을 페이징처리하여 반환한다.


코드설명

  • 먼저 역지오코딩이란 지리좌표를 사람이 읽을수 있는 주소로 변환하는 과정
    kakaoMapUrl은 KAkao Maps API의 역지오코딩 API 엔드포인트 URL이다.
    kakaoApiKey는 application-oauth.yml파일의 프로퍼티 값을 가져오는데 사용된다.

getCurrentLocation()메서드

1. API호출을 위해 HttpClient와 HttpRequest를 생성

  • HttpClient클래스는 instance HTTP 요청을 보내는 세션 역할을 함.
  • 서버는 HTTP request을 보내고 HTTP response을 받을 수 있다.

2. API 요청 헤더에 Authorization 헤더를 추가하여 API키를 전달
3. HttpClient를 사용하여 API요청을 보내고, 응답을 받음
4. 응답 body를 문자열 형태로 얻어옴
5. Gson 라이브러리를 사용하여 응답 body를 JsonObject로 변환
6. JsonObject에서 "documents"배열을 추출
7. "documents" 배열에서 첫 번째 항목을 가져와 "region_3depth_name"값을 추출
8. "region_3depth_name"값을 반환

  • 여기서 region_3depth__name은 '동'이름 입니다.
profile
Let's Coding

0개의 댓글