본문 바로가기
웹개발/Springboot

Spring 주소 api / 주소 검색 1) API 가져오기

by HoPpangg 2021. 7. 18.
SMALL

 

https://www.juso.go.kr/addrlink/addrLinkUrl.do?confmKey=승인키&returnUrl=주소결과를 리턴 받을 URL

승인키와 url을 주소에 넣고 브라우저에서 요청을 해주면 주소 검색창이 뜨는 것을 볼 수 있습니다.

 

주소 검색을 하고 확인을 누르면 

에러가 나는데 에러가 나는 이유는 제 서버에서 localhost:8000은 HTTP Method 방식이 Post가 아니기 때문입니다.

 

주소가 제대로 검색되어서 입력되는지 확인해보기 위해서 주소 API를 다운로드 해서 실행시켜봅니다.

새로운 API를 다운받아서 테스트 할 때는 바로 내 프로젝트에 적용해보기 보단 DynamicProject를 통해서 같은 환경에서 테스트 해보고 내 프로젝트에 적용하는 것이 좋습니다.

다시 도로명 주소 API 사이트에 들어가서 팝업 API를 다운받아줍니다

압축을 풀고 jsp_sample에 있는 jsp 파일 두개를 복사해줍니다.

Dynamic Web Project 를 만들어서 src - main - webapp 에 붙여넣기 해줍니다.

Sample.jsp를 서버로 실행시키면 

잘 뜨는 것을 볼 수 있습니다.

팝업창을 눌러보면

404 에러가 뜹니다. 이유는 

context path가 프로젝트 이름으로 있어야 제대로 찾을 수 있기때문입니다. 앞에 /popup부분을 프로젝트 이름으로 바꿔줍니다.

jusoPopup.jsp 파일에서도 confmKey 변수에 아까 승인 받은 승인키를 넣어줍니다.

다시 실행시켜보면 팝업이 잘 뜹니다.

주소를 검색해서 해당 주소를 누르면 

상세 주소를 입력할 수 있고 주소 입력 버튼을 눌러 완료하면 

이렇게 값이 반환되는 것을 볼 수 있습니다. 그런데 지금 UTF-8설정이 되어있지 않은지 다 깨집니다.

다시 jusoPopup.jsp 파일로 돌아가서

해당 주석을 제거해줍니다. 친절하게 써놓으셨네요.

다시 실행시켜서 주소 입력해보면 제대로 잘 나오는 것을 볼 수 있습니다.

 

보통 주소 찾기에서 사용되는 것은 전체 주소이므로 <body> 태그에서 전체주소 하나만 남겨주고 다 지워줍니다.

여기서 팝업을 눌러 주소를 검색하면

입력창에 주소는 잘 들어가지만 팝업창이 닫히지 않는 오류가 발생합니다.

이유는 roadFullAddr 만 받아오면 되는데 받아오는 데이터들이 너무 많아져서 에러가 나는 것 입니다.

따라서 하나만 남기고 다 지워줍니다.

jusoPopup.jsp 파일에서도 init 함수 속 else에서 jusoCallBack으로 받아오는 데이터를 roadFullAddr을 빼고는 다 지워줍니다.

여기서 opener는 자식이 부모의 함수를 실행시키는 역할을 합니다.

 

처음 받아오는 inputYn엔 전달되는 값이 없기 때문에 null이 전달됩니다. 따라서 처음 if문으로 들어가 코드 실행 후 다시 실행이 되면서 else문의 코드가 실행되어 roadFullAddr이 반환됩니다. 즉 returnurl 때문에 자기 자신으로 돌아가지고 총 2번 실행되는 것 입니다.

 

이제 실제 프로그램에도 적용할 준비가 되었습니다.

728x90
LIST

'웹개발 > Springboot' 카테고리의 다른 글

[블로그 만들기] 주소 API 활용 -2) 주소찾기 기능 넣기  (0) 2021.07.19
open-in-view  (0) 2021.07.18
ORM / 양방향 매핑 원리  (0) 2021.07.17

댓글