반응형
1. 공공 데이터 사용 신청
1) 공공데이터포털 사이트 접속 (URL: https://www.data.go.kr/ )
2) 원하는 데이터 찾기
3) 오픈API → 활용신청 클릭 후, 신청 양식에 맞춰 제출하기
4) 마이페이지 → API신청 들어가기
5) 일반 인증키(Encoding / Decoding) 데이터 활용해서 인증키 입력란에 대입!
*공공 데이터마다 유효한 인증키가 다르기 때문에, Encoding 데이터와 Decoding 데이터를 ApikeyAuth에도 대입해보고 ApikeyAuth2에도 대입해보면서 맞는 인증키를 찾아야 함!
2. 공공 데이터 servlet으로 가져오기
@WebServlet("/api/Api01ElectricCharginAnsan")
public class Api01ElectricCharginAnsan extends HttpServlet {
private static final long serialVersionUID = 1L;
public Api01ElectricCharginAnsan() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1. 공공데이터 포털에서 신청한 데이터 가져오기: URL 클래스 활용
URL url = new URL("<https://api.odcloud.kr/api/15090398/v1/uddi:6fe0e3f2-0285-4999-9edf-995afe19a6ea?page=1&perPage=96&serviceKey=z427Q0DLkQqM0SDOc1Lz8jPzk%2BKj0ng%2Bvz7h3I8CpVs3T90219bWi2o%2BmStIxJW%2B9lwayA%2FsAT6apxsxuvydQg%3D%3D>");
// 2. 스트림객체 생성하기
// 1) InputStream 클래스 이용
// InputStream inputStream = url.openStream();
// 2) InputStreamReader 클래스 이용
// URL 클래스 특징: openStream() 메소드 제공
// InputStreamReader reader = new InputStreamReader( url.openStream(), "UTF-8" );
// 해석1: 스트림화하여 데이터를 바이트로 가져옴
// 해석2: UTF-8로 인코딩 진행
// 3) BufferedReader 클래스 이용
BufferedReader bf = new BufferedReader( new InputStreamReader(url.openStream(), "UTF-8") );
// byte[] array1 = new byte[100000];
// 목적: inputStream을 이용하기 위해서는 byte 배열 필요
// char[] array2 = new char[100000];
// 목적: InputStreamReader을 이용하기 위해서는 char 배열 필요
// 3. 스트림화한 객체 바이트로 읽어오기
// inputStream.read( array1 ); // 특징: byte 배열로 읽을 수 있음
// reader.read( array2 ); // 특징: 문자char 배열로 읽을 수 있음
String result = bf.readLine(); // 특징: String으로 바로 읽을 수 있음 [배열 필요 없음]
// System.out.println( array1 );
// System.out.println( array2 );
System.out.println( result );
}
}
3. 공공 데이터 AJAX으로 가져오기
$.ajax({
url: "<https://api.odcloud.kr/api/2241448/v1/uddi:71902926-a3d7-44b9-9a25-a46d2c6d2034_201909112103?page=1&perPage=150&serviceKey=c%2BqC%2BX56OkzH7wQp0MRSmjqIonksla%2FFjJR2zJurJLRPptbOM9ymF8kHAA5dSTesd8z%2BF%2Fg77w270mdXrEX10w%3D%3D>",
method: "get",
async: false,
success: (r) =>{
console.log(r); // --- 확인 완료
})
반응형
'JSP' 카테고리의 다른 글
JSP - 소켓 사용 (1) | 2023.04.28 |
---|---|
JSP - Servlet 사용 (0) | 2023.04.28 |
JSP - 이메일 인증 (0) | 2023.04.28 |
JSP - 페이징 처리 (0) | 2023.04.28 |
Java JSP 알아보기 (0) | 2023.03.06 |