Blog Content

    티스토리 뷰

    우체국 오픈API를 이용한 우편번호 검색하기


    웹사이트에서 자주 사용되는 우편번호 검색을 우체국 오픈 API를 통해서 구현해보고자 합니다.

    기존의 주소 체계가 도로명으로 바뀌면서 기존 주소 체계검색 도로명 검색이 동시에 되어야 하고, 

    도로명에 검색에 필요한 컬럼이 많이 증가되면서 우편번호 데이터를 Database 로 관리하고 개발하기에는 비용이 증가하였고 

    또한 올해 새로운 우편번호 체계로 변경됩니다. (2015년 8월 1일 부터 우편번호 6자리에서 5자리로 변경)

    이런 저런 이유들로 우체국 오픈 API 를 이용하여 우편번호 검색을 하면 스트레스는 덜 받을 것 같습니다.

    만들면서 아쉬운 점은 페이징 처리를 지원하지 않는다는 점입니다. 검색 결과가 많을 경우 원하는 우편번호를 찾기 위해서

    스크롤을 하염없이 내려야 할 것 같네요.


    우체국 오픈 API 사용신청http://biz.epost.go.kr/openapi/openapi_request.jsp?subGubun=sub_3&subGubun_1=cum_38&gubun=m07

    우체국 오픈 API 이용방법http://biz.epost.go.kr/customCenter/custom/custom_10.jsp?subGubun=sub_3&subGubun_1=cum_33&gubun=m07


    위 사이트에서 오픈API사용 신청을 합니다. 키는 바로 발급이 되네요.


    - 개발 환경 : Spring 3.2, Tomcat 7.0, java 7

    Spring 기반에 Ajax로 처리하기 위한 데이터를 Json 형태로 반환하기 위해서 Gson을 사용했고,

    결과 내용을 파싱하기 위해서 jsoup을 이용했습니다. 


    - 라이브러리 : gson-2.2.2.jar, jsoup-1.7.2.jar


    - 클래스는 ZipcodeController, ZipcodeSearchTO, ZipcodeVO 총 3개로 구성되어 있고, 내용은 아래와 같습니다.


     -ZipcodeSearchTO 클래스


    위 소스는 우편번호 검색을 하기 위한 검색 객체 클래스입니다.


    - ZipcodeVO 클래스


    위 소스는 우편번호 검색 결과를 담기 위한 Value Object 클래스입니다.


    - ZipcodeController 클래스


    위 소스는 우편번호 검색 로직이 있는 Controller 클래스입니다.


     - zipcode.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    
        
     	
    지번 우편번호

    도로명 우편번호

    검색할 도로명과 건물번호를 정확히 입력하십시오!
    찾고자 하는 주소 : 서울특별시 종로구 세종로 17 세종문화회관 검색(입력)방법 예시 : 도로명 + 건물번호 => 세종로 17


    지번 우편번호(2015년 8월 1일 시행되는 5자리 구역번호)
    도로명 우편번호(2015년 8월 1일 시행되는 5자리 구역번호)

    우편번호 내용


    위 소스는 우편번호 검색과 결과를 보여주는 jsp 파일입니다.


    - 결과화면




    Comments