API 활용하기(공공데이터포털)

꿈꾸는하늘·2024년 3월 18일

JSP

목록 보기
4/25

● API : 충청북도_청주의료원 제증명 발급 현황
● 요청 매개변수 : 인증키(serviceKey), 페이지번호(currentPage), 한 페이지 결과 수(perPage)
● 응답매개변수 : 종류(KND), 용도(PRPOS), 금액(AMOUNT)

API 활용가이드 내 요청 메시지 확인

마이페이지 개인 인증키 확인 후 요청메세지 수정

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div>
    <div>
        <form id="searchFrm">
            한 페이지에 10개씩 출력됨 <br />
            <select id="startNum">
                <option value="1">1페이지</option>
                <option value="11">2페이지</option>
                <option value="21">3페이지</option>
                <option value="31">4페이지</option>
            </select>
            <button type="button"id="searchBtn">검색 요청</button>
        </form>
    </div>
    <div class="row"id="searchResult">
        여기에 검색 결과가 출력됩니다.
    </div>
</div>
<script>
	$(function(){
		$("#searchBtn").click(function(){
			alert("event");
			$.ajax({
			    url : "http://apis.data.go.kr/6430000/proofStatCheongjuMediService/getProofStatCheongjuMedi?serviceKey=ogfplmVOujZYF0ZbvdmAuduRR3fxAHcl8sYgXG7GZJYUxA7nbwJih7oIUt7gwo6eM%2BLRpnOpvfYoDIG%2FFGFP%2Bg%3D%3D&currentPage=1&perPage=10",
			    type : "get",                  // HTTP 메서드
			    dataType : "json",      // 응답 데이터 형식(xml or json)
			    success : sucFuncJson,  // 요청 성공 시 호출할 메서드 설정
			    error : errFunc         // 요청 실패 시 호출할 메서드 설정
			  });
			});
	

		});

	
	function sucFuncJson(d){
		let str = "";
		$.each(d.body, function(index, item){
			str+="<ul>"
				str+="<li> 종류 : "+item.KND+"</li>" // 해당 데이터의 응답매개변수에 맞게 수정
				str+="<li> 용도 : "+item.PRPOS+"</li>" // 해당 데이터의 응답매개변수에 맞게 수정
				str+="<li> 금액 : "+item.AMOUNT+"</li>" // 해당 데이터의 응답매개변수에 맞게 수정			
			str+="</ul>"
		});
		console.log(d);
		/* $("#searchResult").html(str); */
		document.querySelector("#searchResult").innerHTML = str;
	}
	
	function errFunc(e) {
	    alert("실패: " + e.status);
	}

</script>
</body>
</html>

출력하고자하는 데이터가 body내에 바로 존재하므로 function sucFuncJson에서 d.body로 each함수 사용하여 데이터 출력

● 실행결과

0개의 댓글