[DEV] 기록

도로명주소 OpenApi Thymeleaf + SpringBoot 연동

꾸준함. 2020. 12. 2. 15:53

[개요]

올해는 더 이상 프로젝트를 진행하지 않을 줄 알았는데 거짓말처럼 새로운 과제가 생겼습니다.

이번에는 지도 기반 프로젝트를 진행해야 하기 때문에 도로명주소 OpenApi를 연동했어야 하는데 검색해본 결과 저처럼 Thymeleaf와 SpringBoot 환경에서 연동한 게시물이 없는 것처럼 보여 간단한 샘플 코드를 공유하고자 합니다.

(사실 사이트에서 제공하는 JSP 파일을 남들처럼 그대로 적용해도 되지만 현재 프로젝트 환경이 thymeleaf를 사용하는 환경이고 타임리프와 JSP를 동시에 사용하기 위해서는 환경설정을 손봐야했기 때문에 아래와 같이 코드를 작성했습니다.)

 

먼저, 도로명주소 OpenApi를 사용하기 위해서는 도로명주소 개발자센터로 가서 API를 신청해야합니다.

API 신청하기

API를 신청 완료하면 키(confmKey)를 발급받을 것이고 해당 키가 있어야만 API를 성공적으로 호출할 수 있습니다!

 

저는 지도에 뿌릴 좌표가 필요했기 때문에 좌표 제공 API 내 좌표 팝업 API를 신청했고, 사이트에서 JSP/ASP/PHP 코드에 대해 가이드도 제공하므로 참고해보시는 것을 추천드립니다.

저 같은 경우 타임리프 + 스프링 부트 환경에서 개발하고 있기 때문에 JSP 가이드를 다운로드하여서 참고했습니다.

 

[알고리즘]

제가 궁극적으로 원하는 플로우는 아래와 같았습니다.

1. 메인페이지(index.html)에서 주소 검색 버튼을 클릭을 하면 팝업으로 사이트에서 제공하는 좌표 팝업 API가 뜨고

2. 팝업에서 주소 검색을 한 뒤 [주소 입력] 버튼을 클릭하면 X좌표와 Y좌표를 지도페이지에 뿌려줍니다.

2.1 [주소입력] 버튼을 누름과 동시에 팝업창은 닫힌다.

원하는 플로우

[코드]

index.html (메인 페이지)

 

jusoPopup.html (팝업으로 띄워줄 좌표팝업API)

 

SampleController.java (request를 처리해줄 컨트롤러)

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형