CINXE.COM

LOCALDATA - 지방행정인허가데이터개방:API이용가이드

<!-- CSS /JS 파일 캐싱 방지 --> <!DOCTYPE html> <html lang="ko"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <title>LOCALDATA - 지방행정인허가데이터개방:API이용가이드</title> <meta name="description" content="지방행정 데이터는 시민이 자발적인 참여를 통해 자유롭게 정보를 공유하고 창조적인 서비스를 생산할 수 있도록 하기 위하여 행정안전부에서 제공·운영하는 Open API서비스, 파일변환저장, 다운로드 등의 서비스를 제공합니다."> <meta name="keywords" content="지방행정 데이터, 새올, 데이터포털"> <link rel="stylesheet" type="text/css" href="/css/egovframework/portal/ladosHeader.css?ver=20221102052810000" /> <link rel="stylesheet" type="text/css" href="/js/jquery-ui/jquery-ui.css"/> <link rel="stylesheet" type="text/css" href="/css/egovframework/portal/devcenter.css?ver=20240711054055000" /> <script type="text/javascript" src="/js/jquery-ui/external/jquery/jquery.js"></script> <script> $(document).ready(function(){ showGideTab(".gidetab"); $(".sourceGide button.showexample ").click(function(){ var divname = $(this).attr("data-tabname"); if($(this).find("img.btn-open").hasClass("selected")){ $(this).find("img.btn-open").removeClass("selected"); $(this).find("img.btn-close").addClass("selected"); }else{ $(this).find("img.btn-open").addClass("selected"); $(this).find("img.btn-close").removeClass("selected"); } $("#"+divname).slideToggle(400); }); }); function showGideTab(selector){ var selectedTab = null; var tabs = $(selector).find("div"); tabs.click(function(){ //기존선택된 탭이 아니면 초기화 if(selectedTab !=null){ $("#"+selectedTab.find("button").attr("data-tabname")).hide(); selectedTab.removeClass("gide-active"); selectedTab.find("button").attr("title", ""); }else{ //초기 화면 제거 $(selector).find("div:first-child").removeClass("gide-active"); $(selector).find("button").attr("title", ""); $("#reParam").hide(); } selectedTab = $(this); $("#"+selectedTab.find("button").attr("data-tabname")).toggle(); selectedTab.addClass("gide-active"); selectedTab.find("button").attr("title", "선택됨"); fnMove(selectedTab); }); } function fnMove(seq){ var offset = $(seq).offset(); var scrollVal = $(document).scrollTop(); $('html, body').animate({scrollTop:scrollVal},400); } </script> </head> <body> <div id="content-skip"> <a href="#aside" class="skip" tabindex="1">본문바로가기</a> </div> <!-- 헤더 추가 --> <header id="header" role="banner"> <!-- CSS /JS 파일 캐싱 방지 --> <script src="/js/egovframework/portal/main.js?ver=20190910060206000"></script> <script type="text/javascript"> $(document).ready(function() { // 배포 시 해당 주석 제거 var protocol= document.location.protocol; if(protocol=='http:'){ var ptoto = document.location.toString(); var dd = ptoto.indexOf(".kr/"); var wws = "https://www.localdata.go"+ ptoto.substring(dd); document.location.href = wws; } $(".menu-list > li").on({ mouseenter : function(){ $(".menu-list > li").find("span").removeClass("selected"); $(".menu-list > li").removeClass("selected"); $(this).find("span").addClass("selected"); $(this).addClass("selected"); if(!$("#allmenu").is(':animated')){ $("#allmenu").slideDown(); } }, mouseout : function(){ $("#allmenu").on('mouseleave',function(){ $(".menu-list > li").find("span").removeClass("selected"); $(".menu-list > li").removeClass("selected"); $("#allmenu").hide(); }); }, focusin : function(){ $(".menu-list > li").find("span").removeClass("selected"); $(".menu-list > li").removeClass("selected"); $(this).find("span").addClass("selected"); $(this).addClass("selected"); if(!$("#allmenu").is(':animated')){ $("#allmenu").slideDown(); } }, click : function(){ var hrefurl = $(this).find("a").attr("href"); location.href =hrefurl; } }); $(".all-menu-list > li ").on({ click : function(){ var hrefurl = $(this).find("a").attr("href"); location.href =hrefurl; }, focusin : function(){ $(".menu-list > li").find("span").removeClass("selected"); $(".menu-list > li").removeClass("selected"); $(this).find("span").addClass("selected"); $(this).addClass("selected"); if(!$("#allmenu").is(':animated')){ $("#allmenu").slideDown(); } } }); $(".menu-tol > div:last-child > ul > li:last-child").on({ focusout : function(){ $(".menu-list > li").find("span").removeClass("selected"); $(".menu-list > li").removeClass("selected"); $("#allmenu").hide(); } }); }); </script> <!-- header 영역 --> <div class="header-container"> <div class ="header-area"> <div class="site-logo"> <h1 class="site-name" id="site-name"> <a href="/main.do" title="LOCALDATA" tabindex="2"><img src="/images/egovframework/portal/log_localdata.png" alt="LOCALDATA"></a> </h1> </div> <!-- 메뉴 영역 --> <div class="menu-area"> <nav id="gnbMenu" role="navigation"> <ul class="menu-list"> <li><a href="/devcenter/dataDown.do?menuNo=20001" title="데이터받기" tabindex="3">데이터받기</a><span class="menuhover"></span> <div class="hidden-menu"> <ul class="hidden-menu-list" > <li> <a href="/devcenter/dataDown.do?menuNo=20001" title="데이터다운로드">데이터다운로드</a> </li> <li> <a href="/devcenter/apiGuide.do?menuNo=20002" title="OPEN API(변동분)">OPEN API(변동분)</a> </li> <li> <a href="/devcenter/bbs/devQnaList.do?bbsId=B0000100&menuNo=20003" title="데이터활용문의">데이터활용문의</a> </li> </ul> </div> </li> <li><a href="/data/dataView.do?menuNo=10001" title="데이터찾기" tabindex="7">데이터찾기</a><span class="menuhover"></span> <div class="hidden-menu"> <ul class="hidden-menu-list" > <li> <a href="/data/dataView.do?menuNo=10001" title="그룹별업종조회">그룹별업종조회</a> </li> <li> <a href="/data/allDataView.do?menuNo=10002" title="업종전체보기">업종전체보기</a> </li> </ul> </div> </li> <li><a href="/lif/lifeMainInfo.do?menuNo=40001" title="생활편의정보" tabindex="10">생활편의정보</a><span class="menuhover"></span> <div class="hidden-menu"> <ul class="hidden-menu-list" > <li> <a href="/lif/lifeKMWMapDataView.do?menuNo=40001" title="무인민원발급기정보">무인민원발급기정보</a> </li> <li> <a href="/lif/lifeMFoodMapDataView.do?menuNo=40002" title="모범음식점정보">모범음식점정보</a> </li> <li> <a href="/lif/lifeCtacDataView.do?menuNo=40003" title="생활밀착데이터">생활밀착데이터</a> </li> </ul> </div> </li> <li><a href="/portal/portalDataInfo.do?menuNo=30001" title="데이터활용안내" tabindex="14">데이터활용안내</a><span class="menuhover"></span> <div class="hidden-menu"> <ul class="hidden-menu-list" > <li> <a href="/portal/portalDataInfo.do?menuNo=30001" title="인허가데이터소개">인허가데이터소개</a> </li> <li> <a href="/portal/portalLifeInfo.do?menuNo=30003" title="생활편의정보안내">생활편의정보안내</a> </li> <li> <a href="/portal/portalDataGuide.do?menuNo=30002" title="데이터활용가이드">데이터활용가이드</a> </li> </ul> </div> </li> </ul> </nav> </div> </div> <div id="allmenu" class="allmenu menu-container"> <div class="all-menu"> <div class="menu-back"> <img src = "/images/egovframework/portal/bg_img2.gif" alt="" /> </div> <div class="menu-tol"> <span class="dot-line"></span> <div class="menu"> <ul class="all-menu-list" > <li> <a href="/devcenter/dataDown.do?menuNo=20001" title="데이터다운로드" tabindex="4" >데이터다운로드</a> </li> <li> <a href="/devcenter/apiGuide.do?menuNo=20002" title="OPEN API(변동분)" tabindex="5" >OPEN API(변동분)</a> </li> <li> <a href="/devcenter/bbs/devQnaList.do?bbsId=B0000100&menuNo=20003" title="데이터활용문의" tabindex="6">데이터활용문의</a> </li> </ul> <span class="dot-line"></span> </div> <div class="menu"> <ul class="all-menu-list" > <li> <a href="/data/dataView.do?menuNo=10001" title="그룹별업종조회" tabindex="8" >그룹별업종조회</a> </li> <li> <a href="/data/allDataView.do?menuNo=10002" title="업종전체보기" tabindex="9" >업종전체보기</a> </li> </ul> <span class="dot-line"></span> </div> <div class="menu"> <ul class="all-menu-list" > <li> <a href="/lif/lifeKMWMapDataView.do?menuNo=40001" title="무인민원발급기정보" tabindex="11" >무인민원발급기정보</a> </li> <li> <a href="/lif/lifeMFoodMapDataView.do?menuNo=40002" title="모범음식점정보" tabindex="12" >모범음식점정보</a> </li> <li> <a href="/lif/lifeCtacDataView.do?menuNo=40003" title="생활밀착데이터" tabindex="13" >생활밀착데이터</a> </li> </ul> <span class="dot-line"></span> </div> <div class="menu"> <ul class="all-menu-list" > <li> <a href="/portal/portalDataInfo.do?menuNo=30001" title="인허가데이터소개" tabindex="15" >인허가데이터소개</a> </li> <li> <a href="/portal/portalLifeInfo.do?menuNo=30003" title="생활편의정보안내" tabindex="16" >생활편의정보안내</a> </li> <li> <a href="/portal/portalDataGuide.do?menuNo=30002" title="데이터활용가이드" tabindex="17" >데이터활용가이드</a> </li> </ul> <span class="dot-line"></span> </div> </div> </div> </div> </div> </header> <!-- 본문 영역 --> <aside id="aside"> <div class="main-container"> <div class="contents-area"> <!-- 화면 타이틀 --> <div class="content-title"> <span class="font-arial">OPEN API(변동분)</span> 이용가이드 </div> <!-- 메뉴버튼 --> <div class="api-sub-menu-btn"> <a href="/devcenter/keylist.do?menuNo=20002" class="btn apikey" title="APIKEY조회"><span class="font-arial">API KEY</span> 조회</a> <a href="/devcenter/applyGroupApi.do?menuNo=20002" class="btn apiapply" title="OPENAPI신청"> <span class="font-arial">OPEN API</span> 신청</a> </div> <!-- 자료 제공 방식 / 요청URL 예시 --> <div class="line-background apiguide"> <div class="api-use"> <span>자료제공방식</span> <p><span class="font-arial">OPEN API</span>는 변동분 자료만 호출 가능하며, 전체 자료는 데이터 다운로드페이지를 이용바랍니다. (예시 : 6월기준)</p> <img alt="데이터 제공방식" src="/images/egovframework/portal/guide/img_text_dataex_01_1.gif"/> <div class="hidden" > <p>OPEN API는 변동분 자료만 호출 가능하며, 전체자료는 데이터 다운로드페이지를 이용바랍니다. OPEN API(변동분) 데이터는 전월 24일부터 D-2일까지의 데이터를 제공하므로 데이터 다운로드페이지를 통하여 전체 자료를 다운로드 후 변동분 데이터와 합쳐서 사용하시기 바랍니다. 6월기준 예시의 경우, 최초인허가일부터 5월 31일까지의 기초자료는 다운로드기능을 통해 받으신 후, 6월 일일변동분은 OPEN API를 통해 받으실 수 있습니다.</p> </div> </div> <div class="reUrl"> <p><span class="font-arial">OPEN API</span> 요청주소 (<span class="font-arial">Request URL</span>)</p> <p><span class="font-arial">http://www.localdata.go.kr/platform/rest/</span><span class="redcolor">API유형코드</span>/<span class="font-arial">openDataApi</span>?</p> </div> </div> <!-- 변수 및 오류코드 --> <div id="paramtb"> <div class="gidetab"> <div class="gide-active"><button data-tabname="reParam" title="선택됨">요청변수 (<span class="font-arial">Request Parameter</span>)</button></div> <div><button data-tabname="respParam">응답변수 (<span class="font-arial">Response Parameter</span>)</button></div> <div><button data-tabname="erorrCode">오류코드</button></div> </div> <!-- 변수 및 오류코드 내용 --> <div class="tab-content"> <div id ="reParam" > <span class="tab-title">요청변수 설명</span> <table class="table-board"> <caption>요청변수에 대한 표로 변수명, 변수타입, 설명, 필수여부 정보를 제공합니다.</caption> <colgroup> <col style="width: 30%" /> <col style="width: 15%" /> <col /> <col style="width: 15%" /> </colgroup> <thead> <tr> <th scope="col">변수명</th> <th scope="col">변수타입</th> <th scope="col">설명</th> <th scope="col">필수여부</th> </tr> </thead> <tbody> <tr> <td>authKey</td> <td>String</td> <td>인증키</td> <td class="txt-red">필수</td> </tr> <tr> <td>localCode</td> <td>String</td> <td>개방자치단체코드(신고지역)</td> <td></td> </tr> <tr> <td>bgnYmd</td> <td>String</td> <td>인허가일자기준 검색 시작일자(YYYYMMDD)</td> <td></td> </tr> <tr> <td>endYmd</td> <td>String</td> <td>인허가일자기준 검색 종료일자(YYYYMMDD)</td> <td></td> </tr> <tr> <td>lastModTsBgn</td> <td>String</td> <td>데이터갱신일자기준 검색 시작일자(YYYYMMDD)</td> <td></td> </tr> <tr> <td>lastModTsEnd</td> <td>String</td> <td>데이터갱신일자기준 검색 종료일자(YYYYMMDD)</td> <td></td> </tr> <tr> <td>state</td> <td>String</td> <td>운영상태코드 - 01: 영업/정상, 02:휴업, 03: 폐업, 04: 취소/말소/만료/정지/중지</td> <td></td> </tr> <tr> <td>pageIndex</td> <td>String</td> <td>페이지 번호</td> <td></td> </tr> <tr> <td>pageSize</td> <td>String</td> <td>페이지당 출력 갯수 (def. 10)</td> <td></td> </tr> <tr> <td>resultFileYn</td> <td>String</td> <td>파일 처리 여부 : y,n</td> <td></td> </tr> <tr> <td>resultType</td> <td>String</td> <td>출력형식 : xml,json (파일:xls,xlsx,csv)(def. xml)</td> <td></td> </tr> <tr> <td>opnSvcId</td> <td>String</td> <td>개방서비스ID</td> <td></td> </tr> </tbody> </table> <p class="txt-red" style="font-size: 11pt;"><img src="/images/egovframework/portal/devcenter/icon_hotkey.gif" style="margin-right: 5px; margin-left:-10px;" alt="중요포인트이미지"/>API 호출 시 lastModTsBgn,lastModTsEnd 요청 변수를 입력하지 않는 경우 기본 값에 대한 변동분만 호출됩니다.(기본값: 2일전)</p> <p class="txt-red" style="font-size: 11pt;"><img src="/images/egovframework/portal/devcenter/icon_hotkey.gif" style="margin-right: 5px; margin-left:-10px;" alt="중요포인트이미지"/>데이터 갱신주기는 월요일~토요일 저녁 19시부터 수행됩니다.(종료시간은 데이터양에 따라 달라질 수 있으며, 익일 갱신작업 수행 전까지 해당 자료가 유지됩니다.)</p> </div> <div id="respParam" style="display:none;"> <span class="tab-title">응답변수 설명</span> <table class="table-board"> <caption>응답변수에 대한 표로 변수명, 변수타입, 설명, 필수여부 정보를 제공합니다.</caption> <colgroup> <col style="width: 30%" /> <col style="width: 15%" /> <col /> <col style="width: 15%" /> </colgroup> <thead> <tr> <th scope="col">변수명</th> <th scope="col">변수타입</th> <th scope="col">설명</th> <th scope="col">필수여부</th> </tr> </thead> <tbody> <tr> <td>rowNum</td> <td>Number</td> <td>번호</td> <td></td> </tr> <tr> <td>opnSfTeamCode</td> <td>String</td> <td>개방자치단체코드</td> <td class="txt-red">필수</td> </tr> <tr> <td>mgtNo</td> <td>String</td> <td>관리번호</td> <td class="txt-red">필수</td> </tr> <tr> <td>opnSvcId</td> <td>String</td> <td>개방서비스ID</td> <td class="txt-red">필수</td> </tr> <tr> <td>updateGbn</td> <td>String</td> <td>데이터갱신구분</td> <td></td> </tr> <tr> <td>updateDt</td> <td>String</td> <td>데이터갱신일자</td> <td></td> </tr> <tr> <td>opnSvcNm</td> <td>String</td> <td>개방서비스명</td> <td></td> </tr> <tr> <td>bplcNm</td> <td>String</td> <td>사업장명</td> <td></td> </tr> <tr> <td>sitePostNo</td> <td>String</td> <td>지번우편번호</td> <td></td> </tr> <tr> <td>siteWhlAddr</td> <td>String</td> <td>지번주소</td> <td></td> </tr> <tr> <td>rdnPostNo</td> <td>String</td> <td>도로명우편번호</td> <td></td> </tr> <tr> <td>rdnWhlAddr</td> <td>String</td> <td>도로명주소</td> <td></td> </tr> <tr> <td>siteArea</td> <td>String</td> <td>소재지면적</td> <td></td> </tr> <tr> <td>apvPermYmd</td> <td>String</td> <td>인허가일자</td> <td></td> </tr> <tr> <td>apvCancelYmd</td> <td>String</td> <td>인허가취소일자</td> <td></td> </tr> <tr> <td>dcbYmd</td> <td>String</td> <td>폐업일자</td> <td></td> </tr> <tr> <td>clgStdt</td> <td>String</td> <td>휴업시작일자</td> <td></td> </tr> <tr> <td>clgEnddt</td> <td>String</td> <td>휴업종료일자</td> <td></td> </tr> <tr> <td>ropnYmd</td> <td>String</td> <td>재개업일자</td> <td></td> </tr> <tr> <td>trdStateGbn</td> <td>String</td> <td>영업상태코드</td> <td></td> </tr> <tr> <td>trdStateNm</td> <td>String</td> <td>영업상태명</td> <td></td> </tr> <tr> <td>dtlStateGbn</td> <td>String</td> <td>상세영업상태코드</td> <td></td> </tr> <tr> <td>dtlStateNm</td> <td>String</td> <td>상세영업상태명</td> <td></td> </tr> <tr> <td>x</td> <td>String</td> <td>좌표정보(X)</td> <td></td> </tr> <tr> <td>y</td> <td>String</td> <td>좌표정보(Y)</td> <td></td> </tr> <tr> <td>lastModTs</td> <td>String</td> <td>최종수정일자</td> <td></td> </tr> <tr> <td>uptaeNm</td> <td>String</td> <td>업태구분명</td> <td></td> </tr> <tr> <td>siteTel</td> <td>String</td> <td>전화번호</td> <td></td> </tr> </tbody> </table> </div> <div id="erorrCode" style="display:none;"> <span class="tab-title">오류코드 설명</span> <table class="table-board"> <caption>오류코드에 대한 표로 오류코드, 설명, 조치방법 정보를 제공합니다.</caption> <colgroup> <col style="width: 10%" /> <col style="width: 38%" /> <col /> </colgroup> <thead> <tr> <th scope="col">오류코드</th> <th scope="col">설명</th> <th scope="col">조치방법</th> </tr> </thead> <tbody> <tr> <td>001</td> <td>서비스 ID 값이 정의되지 않았습니다.</td> <td>서비스 ID 값을 확인바랍니다.(개편 전 API 신청자에 한정)</td> </tr> <tr> <td>002</td> <td>서비스 ID 값이 유효하지 않습니다.</td> <td>서비스 ID 값을 확인바랍니다.(개편 전 API 신청자에 한정)</td> </tr> <tr> <td>003</td> <td>검색 일자가 누락되었습니다.</td> <td>검색 일자를 확인바랍니다.</td> </tr> <tr> <td>004</td> <td>검색 시작일자가 누락되었습니다.</td> <td>검색 시작일자를 입력바랍니다.(시작일자와 종료일자는 동시 입력바랍니다.)</td> </tr> <tr> <td>005</td> <td>검색 종료일자가 누락되었습니다.</td> <td>검색 종료일자를 입력바랍니다.(시작일자와 종료일자는 동시 입력바랍니다.)</td> </tr> <tr> <td>006</td> <td>검색일자 형식 오류입니다.</td> <td>일자조회 시 YYYYMMDD 형식으로 입력바랍니다. (예:20150301)</td> </tr> <tr> <td>007</td> <td>검색 일자 오류입니다. 검색 시작일자가 검색 종료일자보다 큽니다.</td> <td>검색 일자 범위를 확인 바랍니다.</td> </tr> <tr> <td>008</td> <td>검색 조건으로 음의 값을 사용할 수 없는 숫자가 지정되었습니다.</td> <td>양의 값의 숫자로 입력바랍니다.</td> </tr> <tr> <td>009</td> <td>숫자 형식 오류입니다.</td> <td>숫자 형식에 맞게 입력바랍니다.</td> </tr> <tr> <td>010</td> <td>결과 형태가 유효하지 않습니다.</td> <td>결과 형태를 확인바랍니다.(resultType : (def)xml, json / 파일로 받을 시- xlsx, xls, csv )</td> </tr> <tr> <td>011</td> <td>영업 상태코드가 유효하지 않습니다.</td> <td>state변수에 들어갈 수 있는 값은 01,02,03,04 입니다.(01: 영업/정상, 02:휴업, 03: 폐업, 04: 취소/말소/만료/정지/중지)</td> </tr> <tr> <td>015</td> <td>전 월의 24일 이후만 가능합니다.</td> <td>lastModTsBgn값을 확인 바랍니다. </td> </tr> <tr> <td>016</td> <td>현재일 이전만 가능합니다.</td> <td>endYmd 또는 lastModTsEnd 값을 확인 바랍니다.</td> </tr> <tr> <td>98</td> <td>오픈API 요청 데이터건수가 개발용-500건/운영용-10,000건을 초과하였습니다.</td> <td>state, pageSize, pageIndex 요청값을 추가하여 조회하시기 바랍니다.(pageSize 개발용 최대 - 500/ 운영용 최대 - 10,000)</td> </tr> <tr> <td>99</td> <td>오픈API 호출간격이 짧습니다</td> <td>잠시 후 다시 시도해 주시기 바랍니다.</td> </tr> <tr> <td>801</td> <td>파일다운로드 오류</td> <td>잠시 후 다시 시도 바랍니다.</td> </tr> <tr> <td>902</td> <td>해당 OPENAPI의 서비스 권한이 존재하지 않습니다.</td> <td>API유형코드 및 인증키를 확인바랍니다.</td> </tr> <tr> <td>999</td> <td>알 수 없는 시스템 오류가 발생하였습니다.</td> <td>관리자에게 문의 바랍니다.</td> </tr> </tbody> </table> </div> </div> </div> <div class="exsource"> <p class="sub-title">예제 소스</p> <div class="sourceGide"> <div class="exApiCall"> <button data-tabname="exapicall" class="showexample"><span>OPEN API 호출 예제소스 보기</span> <span class="img-btn"> <img src="/images/egovframework/portal/devcenter/btn_open.gif" alt="열기이미지" class="btn-open selected"/> <img src="/images/egovframework/portal/devcenter/btn_close.gif" alt="닫기이미지" class="btn-close"/> </span> </button > <p class="down-btn"> <a href="/cmm/fms/FileDown.do?atchFileId=FILE_000000000000002&fileSn=0">예제소스 다운로드</a> </p> </div> <div id="exapicall" style="display: none;"> <div> <span class="text-green"><strong>/* <br/>파일명 : apiSample.jsp <br/>내용 : Java Controller를 이용하여 API 호출(검색 결과 XML 형식)<br/> */</strong></span><br/> <span class="text-red">&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;</span><br/> <span class="text-blue">&lt;!DOCTYPE html&gt;</span><br/> <span class="text-blue">&lt;html&gt;</span><br/> <span class="text-blue">&lt;head&gt;</span><br/> <span class="text-blue">&lt;meta <span class="text-red">http-equiv</span>="Content-Type" <span class="text-red">content</span>="text/html; <span class="text-red">charset</span>=UTF-8"&gt;</span><br/> <span class="text-blue">&lt;title&gt;<span style="color:black;">API 호출 예제 소스</span>&lt;/title&gt;</span><br/> <span class="text-blue">&lt;script <span class="text-red">src</span>="/js/jquery-1.11.0.js" &gt;&lt;/script&gt;</span><br/> <br/> <span class="text-blue">&lt;script&gt;</span><br/> <span class="text-left-padding">function getData(){<br/> &nbsp; &nbsp; &nbsp; $.ajax({<br/> &nbsp; &nbsp; &nbsp; &nbsp; url : "/getApiCall.do",<br/> &nbsp; &nbsp; &nbsp; &nbsp; type: "POST",<br/> &nbsp; &nbsp; &nbsp; &nbsp; data:$("#form").serialize(),<br/> &nbsp; &nbsp; &nbsp; &nbsp; dataType:"xml",<br/> &nbsp; &nbsp; &nbsp; &nbsp; success:function(resultData){<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $("#list").html("");<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var resultCode = $(resultData).find("code").text();<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var resultMessage = $(resultData).find("message").text();<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(resultCode != "00"){<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alert("에러발생");<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(resultData !=null){<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dataList(resultData);<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br/> &nbsp; &nbsp; &nbsp; &nbsp; }<br/> &nbsp; &nbsp; &nbsp; &nbsp; ,error : function(xhr,status, error){<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alert("에러발생");<br/> &nbsp; &nbsp; &nbsp; &nbsp; } <br/> &nbsp; &nbsp; &nbsp; });<br/> } </span><br/> <span class="text-left-padding">function dataList(resultData){<br/> &nbsp; &nbsp; &nbsp; var items ="";<br/> &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;번호&lt;/th&gt;&lt;th&gt;자치단체코드(신고지역)&lt;/th&gt;&lt;th&gt;인허가번호&lt;/th&gt;&lt;th&gt;서비스ID&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;";</span><br/> &nbsp; &nbsp; &nbsp; $(resultData).find("row").each(function(){<br/> &nbsp; &nbsp; &nbsp; &nbsp; <span class="text-green">//API 신청 시 선택한 제공항목 입력</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;tr&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;td&gt;"</span> + $(this).find('rowNum').text()+<span class="text-blue">"&lt;/td&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;td&gt;"</span> + $(this).find('opnSfTeamCode').text()+<span class="text-blue">"&lt;/td&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;td&gt;"</span> + $(this).find('mgtNo').text()+<span class="text-blue">"&lt;/td&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;td&gt;"</span> + $(this).find('opnSvcId').text()+<span class="text-blue">"&lt;/td&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; &nbsp; items +=<span class="text-blue">"&lt;/tr&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; });<br/> &nbsp; &nbsp; &nbsp; &nbsp; items += <span class="text-blue">"&lt;/tbody&gt;&lt;/table&gt;"</span>;<br/> &nbsp; &nbsp; &nbsp; &nbsp; $("#list").html(items);<br/> &nbsp; &nbsp; &nbsp; } <br/> <span class="text-blue">&lt;/script&gt;</span> <br/> </span> <br/> <span class="text-blue">&lt;/head&gt;</span><br/> <span class="text-blue">&lt;body&gt;</span><br/> <span class="text-blue">&lt;form <span class="text-red">name</span>="form" <span class="text-red">id</span>="form" <span class="text-red">method</span>="post"&gt;</span><br/> <span class="text-blue">&lt;input <span class="text-red">type</span>="text" <span class="text-red">name</span>="localcode" <span class="text-red">id</span>="localcode" <span class="text-red">value</span>=""/&gt;</span><span class="text-green">&lt;!-- 요청 변수 설정(조회 지역코드-가이드 참조) --&gt;</span><br/> <span class="text-blue">&lt;input <span class="text-red">type</span>="text" <span class="text-red">name</span>="bgnYmd" <span class="text-red">id</span>="bgnYmd" <span class="text-red">value</span>=""/&gt;</span><span class="text-green">&lt;!-- 요청 변수 설정(시작날짜(YYYYMMDD 형식)) --&gt;</span><br/> <span class="text-blue">&lt;input <span class="text-red">type</span>="text" <span class="text-red">name</span>="endYmd" <span class="text-red">id</span>="endYmd" <span class="text-red">value</span>=""/&gt;</span><span class="text-green">&lt;!-- 요청 변수 설정(종료날짜(YYYYMMDD 형식)) --&gt;</span><br/> <span class="text-blue">&lt;input <span class="text-red">type</span>="button" <span class="text-red">onClick</span>="getData();" <span class="text-red">value</span>="API호출하기" /&gt;</span><br/> <span class="text-blue">&lt;/form&gt;</span><br/> <span class="text-blue">&lt;div <span class="text-red">id</span>="list"&gt;&lt;/div&gt;</span><span class="text-green">&lt;!-- 조회 결과 --&gt;</span><br/> <span class="text-blue">&lt;/body&gt;</span><br/> <span class="text-blue">&lt;/html&gt;</span><br/> <br/><br/><br/> <span class="text-green"><strong> /* <br/>파일명 : apiSampleController.java <br/>내용 : Java Controller를 이용하여 API 호출(검색 결과 XML 형식)<br/> */</strong></span><br/> <span class="text-purple">import </span><span>java.io.BufferedReader;</span><br/> <span class="text-purple">import </span><span>java.io.InputStreamReader;</span><br/> <span class="text-purple">import </span><span>java.net.URL;</span><br/> <span class="text-purple">import </span><span>javax.servlet.http.HttpServletRequest;</span><br/> <span class="text-purple">import </span><span>javax.servlet.http.HttpServletResponse;</span><br/> <span class="text-purple">import </span><span>org.springframework.stereotype.Controller;</span><br/> <span class="text-purple">import </span><span>org.springframework.ui.ModelMap;</span><br/> <span class="text-purple">import </span><span>org.springframework.web.bind.annotation.RequestMapping;</span><br/> <span class="text-purple">import </span><span>org.springframework.web.bind.annotation.RequestMethod;</span><br/> <br/> <span>@Controller</span><br/> <span class="text-purple">public class </span><span>apiSampleController {</span><br/> <br/> <span>@RequestMapping(value=<span class="text-blue">"/getApiCall.do"</span>, method={RequestMethod.POST,RequestMethod.GET})</span><br/> <span class="text-purple">public void </span> <span>getSampleApi(HttpServletRequest <span class="text-brown">req</span>, ModelMap <span class="text-brown">model</span>, HttpServletResponse <span class="text-brown">response</span>) <span class="text-purple">throws </span> Exception{</span><br/> <br/> <span class="text-green">// API 신청 시 발급받은 인증키 설정 </span><br/> <span> String <span class="text-brown">AUTH_KEY </span> = <span class="text-red text-bold">"신청 API 인증키"</span>;</span><br/> <br/> <span class="text-green">// API 호출 시 조회 할 변수 설정 - 요청 변수 참조(jsp화면에서 입력 받은 값 셋팅) </span><br/> <span> String <span class="text-brown">localcode </span> = req.getParameter("localcode"); </span><br/> <span> String <span class="text-brown">bgnYmd </span> = req.getParameter("bgnYmd");</span><br/> <span> String <span class="text-brown">endYmd </span> = req.getParameter("endYmd");</span><br/> <br/> <span class="text-green">// 발급받은 API 유형(통합(TO0),그룹(GR0)) </span><br/> <span> String <span class="text-brown">apiurl </span> = "http://www.localdata.go.kr/platform/rest/<span class="text-red text-bold">인증키유형</span>/openDataApi?authKey="+<span class="text-red text-bold">AUTH_KEY</span>;</span><br/> <br/> <span class="text-green">//조건 설정에 따른 URL변경</span><br/> <span>if(localcode !=null){<br/> &nbsp; &nbsp; <span class="text-brown">apiurl </span> += "&localCode="+localcode;<br/> }<br/> if(bgnYmd !=null && endYmd !=null){<br/> &nbsp; &nbsp; <span class="text-brown">apiurl </span> +="&bgnYmd="+bgnYmd +"&endYmd="+endYmd;<br/> }<br/> </span> <br/> <span>URL <span class="text-brown">url </span> = <span class="text-purple">new</span> URL(<span class="text-brown">apiurl </span>); </span><br/> <span>BufferedReader <span class="text-brown">br</span> = <span class="text-purple">new</span> BufferedReader(<span class="text-purple">new</span> InputStreamReader(<span class="text-brown">url</span>.openStream(),<span class="text-blue">"UTF-8"</span>));</span><br/> <br/> <span>StringBuffer <span class="text-brown">sb</span> = <span class="text-purple">new</span> StringBuffer();</span><br/> <span>String <span class="text-brown">tempStr</span> = <span class="text-purple">null</span>;</span><br/> <span> <span class="text-purple"> while</span>(<span class="text-purple">true</span>){ <br/> &nbsp; &nbsp; <span class="text-brown">tempStr</span> = br.readLine();<br/> &nbsp; &nbsp;if(<span class="text-brown">tempStr</span> == null) break;<br/> &nbsp; &nbsp; &nbsp; &nbsp;sb.append(<span class="text-brown">tempStr</span>); <br/> &nbsp; &nbsp; }<br/> &nbsp; &nbsp; br.close();<br/> &nbsp; &nbsp; response.setCharacterEncoding(<span class="text-blue">"UTF-8"</span>);<br/> &nbsp; &nbsp; response.setContentType(<span class="text-blue">"text/xml"</span>);<br/> &nbsp; &nbsp; response.getWriter().write(sb.toString());<br/> &nbsp; &nbsp; }<br/> }<br/> </span> </div> </div> <div class="exlibGide"> <button data-tabname="exlibGide" class="showexample"> <span>라이브러리 예제소스 보기</span> <span class="img-btn"> <img src="/images/egovframework/portal/devcenter/btn_open.gif" alt="열기이미지" class="btn-open selected"/> <img src="/images/egovframework/portal/devcenter/btn_close.gif" alt="닫기이미지" class="btn-close"/> </span> </button> <p class="down-btn"> <a href="/cmm/fms/FileDown.do?atchFileId=FILE_000000000000001&fileSn=0">라이브러리 다운로드</a> </p> </div> <div id="exlibGide" style="display: none;"> <div> <span class="text-green"><strong> /* <br/>파일명 : test.java <br/>내용 :localdataApiClient.jar 사용하여 API 호출<br/> 수정된 버전에 따라 파일명이 상이 할 수 있습니다.(라이브러리 다운로드를 이용하여 최신 라이브러리를 받아주시기 바랍니다.) */</strong></span><br/> <span class="text-green">// 호출을 위한 필수 import </span><br/> <span class="text-purple">import </span><span>kr.go.localdata.client.DatasReceive;</span><br/> <span class="text-purple">import </span><span>kr.go.localdata.client.ReceiveLocalDatas;</span><br/> <br/> <span class="text-purple">public class </span><span>test {</span><br/> <br/> &nbsp; <span class="text-purple">public static void </span><span>main(String[] args) {</span> <br/> &nbsp; &nbsp;<span>test t = <span class="text-purple">new</span> test();</span><br/> &nbsp; &nbsp;<span class="text-purple">try</span> <span>{</span><br/> &nbsp; &nbsp; &nbsp;<span>t.getData();</span><br/> &nbsp; &nbsp;<span>}<span class="text-purple">catch</span>(Exception e){</span><br/> &nbsp; &nbsp; &nbsp;<span>e.printStackTrace();</span><br/> &nbsp; &nbsp;<span>}</span><br/> &nbsp; <span>}</span><br/> <br/> &nbsp; <span class="text-purple">public void </span><span>getData() {</span><br/> <span class="text-green">// 1.ReceiveLocalDatas 객체 생성</span><br/> &nbsp; &nbsp;<span>ReceiveLocalDatas dr = <span class="text-purple">new</span> ReceiveLocalDatas();</span><br/> <span class="text-green">// 2. 파라미터 설정 (auth_key - 인증키, api_type - API유형, resultType - 결과형태, lastModTsBgn - 최종수정일자(시작일), lastModTsEnd - 최종수정일자(종료일), pageIndex - 페이지 번호 , pageSize - 페이지당 출력 개수) </span><br/> <span class="text-green">// 파라미터에 대한 상세 정보는 라이브러리다운 시 함께 제공되는 가이드 참조</span><br/><br/> <span> String <span class="text-brown">auth_key </span> = <span class="text-red text-bold">"신청 API 인증키"</span>;</span><br/> <span> String <span class="text-brown">api_type </span> = <span class="text-red text-bold">"신청 API 유형"</span>;</span><br/> <br/> <span class="text-green">//결과형태 설정 - XML / JSON</span><br/> <span> String <span class="text-brown">resultType </span> = <span class="text-blue">"XML"</span>;</span><br/> <br/> <span class="text-green">//receiveOpenMonthDatas() 호출 시 날짜 파라미터(YYYYMMDD 형식으로 입력)</span><br/> <span> String lastModTsBgn = <span class="text-blue">"검색 시작일자 (YYYYMMDD)"</span>;</span><br/> <span> String lastModTsEnd = <span class="text-blue">"검색 종료일자 (YYYYMMDD)"</span>;</span><br/> <span class="text-green">//호출 시 페이지 관련 변수( 1이상의 자연수로 입력 )</span><br/> <span><span class="text-purple">int</span> pageIndex = <span class="text-blue">1</span>;</span><br/> <span><span class="text-purple">int</span> pageSize = <span class="text-blue">20</span>;</span><br/> <br/> &nbsp; &nbsp;<span class="text-purple">try</span> <span>{</span><br/> &nbsp; &nbsp; &nbsp;<span class="text-green">//receiveTotalCnt() - 제공 받을 데이터 총건수를 가져오는 메소드(M-receiveOpenMonthDatas 호출 시 사용, D-receiveOpenDayDatas 호출 시 사용)</span><br/> &nbsp; &nbsp; &nbsp;<span>DatasReceive totalcnt = dr.receiveTotalCnt(api_type,auth_key,"M",lastModTsBgn,lastModTsEnd);</span><br/> &nbsp; &nbsp; &nbsp;<span><span class="text-purple">int</span> totalCnt = totalcnt.getReqTotalCnt();</span> &nbsp; &nbsp; &nbsp;<span><span class="text-purple">if</span>(totalCnt == -1 ){</span><br/> &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//서버 응답 확인 </span><br/> &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response code : "+totalcnt.getResultCode());</span><br/> &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response Msg : "+totalcnt.getMsg());</span><br/> &nbsp; &nbsp; &nbsp;<span>}<span class="text-purple">else</span>{</span><br/> &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//pageIndex 값을 1씩 늘려가면서 반복 호출 하기 위한 변수</span><br/> &nbsp; &nbsp; &nbsp; &nbsp;<span><span class="text-purple">int</span> forNum = (<span class="text-purple">int</span>)Math.ceil((<span class="text-purple">double</span>)totalCnt/pageSize);</span> <br/> &nbsp; &nbsp; &nbsp; &nbsp;<span><span class="text-purple">for</span>(pageIndex = 1; pageIndex &lt; forNum+1; pageIndex++){</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//receiveOpenDayDatas() - 전일 변동분의 자료를 가져오는 메소드</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//DatasReceive rld = dr.receiveOpenDayDatas(api_type,auth_key,resultType,pageIndex,pageSize);</span><br/> <br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//receiveOpenMonthDatas() - 현재 월 변동분의 자료를 가져오는 메소드 : 검색가능 날짜범위 - 전월 24일~ 현재 일자 2일전까지 </span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>DatasReceive rld = dr.receiveOpenMonthDatas(api_type,auth_key,resultType,lastModTsBgn,lastModTsEnd,pageIndex,pageSize);</span><br/> <br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span><span class="text-purple">if</span>(rld.getResult() != 0){</span><br/> <br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span><span class="text-purple">if</span>(rld.getResult() == -1){</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("### 서버 접속 실패 : 잠시 후 다시 이용바랍니다.");</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>}</span><br/><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//오류 결과 확인 </span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response code : "+rld.getResultCode());</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response Msg : "+rld.getMsg());</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>}</span><br/> <br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//서버 응답 확인 </span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response code : "+rld.getResultCode());</span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response Msg : "+rld.getMsg());</span><br/> <br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="text-green">//결과 확인 </span><br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>System.out.println("Response ResultData : "+rld.getResultData());</span><br/> &nbsp; &nbsp; &nbsp; &nbsp;<span>}</span><br/> &nbsp; &nbsp; &nbsp;<span>}</span><br/> &nbsp; &nbsp;<span>}<span class="text-purple">catch</span>(Exception e){</span><br/> &nbsp; &nbsp; &nbsp;<span>e.printStackTrace();</span><br/> &nbsp; &nbsp;<span>}</span><br/> &nbsp; <span>}</span><br/> <br/> <span>}</span><br/> </div> </div> </div> </div> </div> </div> </aside> <!-- 풋터추가 --> <footer id="footer"> <div class="footer-container"> <div class="footer-area"> <h2 class="accessibility-hidden">관련사이트</h2> <div class="logo-area-left"> <a href="http://www.mois.go.kr/" target="_blank" title="새창으로열림-행정안전부"><img src="/images/egovframework/portal/log_mois.png" alt="행정안전부"></a> </div> <div> <div class="call-number">문의 : 02-2195-1080 (월~금 09:00 ~ 18:00, 공휴일 제외)</div> <div class="logo-area-right"> <a href="http://www.klid.or.kr/" target="_blank" title="새창으로열림-한국지역정보개발원" > <img src="/images/egovframework/portal/log_klid.png" alt="한국지역정보개발원"> </a> </div> </div> </div> </div> </footer> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10