+/Etc

공공데이터 API 사용하기(1)

writtenbyrla 2023. 10. 10. 12:01

 

1. 공공데이터 포털 사이트

 
https://www.data.go.kr
원하는 데이터 검색 후 활용신청 > 마이페이지에서 승인여부 확인
 
 
승인되면 활용중인 서비스 들어가서 아래와 같이 정보 확인 가능함
 

 
End Point는 URL이라 생각하면 되고, 일반 인증키(Encoding)가 serviceKey에 들어가는 부분이다.
 
일반인증키를 파라미터값으로 serviceKey에 담아 넘기는 것으로, back단에서 처리할 때 url에 지정해주면 된다. 
 
미리보기 누르면 End Point 부분에 serviceKey가 붙어서 url가 찍히는 것을 확인할 수 있다.
 
따라서 최종 URL은 https://apis.data.go.kr/1543061/animalShelterSrvc/shelterInfo?serviceKey="일반인증키"
 
 
 
 
 
 
 

2. Back단 처리

 
url 지정

public static final String serviceKey = "일반 인증키(Encoding)";

// key값 제외한 주소 url로 지정 
String url = "https://apis.data.go.kr/1543061/animalShelterSrvc/shelterInfo";

// 기본 url에 serviceKey값 붙이기(필수)
url += "?serviceKey=" + serviceKey; 

// 기본 url + serviceKey 에 페이지 결과 개수, 타입 지정(선택)
url += "&numOfRows=5"; // 한 페이지 결과 수 (데이터 제일 하단 totalCount를 보면 전체 개수 있음)
url += "&_type=json"; // 기본값이 xml, json으로 지정 가능

 
 

URL requestUrl = new URL(url);
HttpURLConnection urlConnection = (HttpURLConnection) requestUrl.openConnection();

// 요청 방식(GET 방식)
urlConnection.setRequestMethod("GET");

BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line = null;
		
while((line = br.readLine())!=null) {
	System.out.println(line);
} 
		
br.close();
urlConnection.disconnect();

 
결과: JSON 방식으로 지정했기 때문에 아래와 같이 나옴

 
 
 

+ JSON 파싱해서 필요한 정보만 출력하기

파싱하지 않으면 전체 text 형태임
 
라이브러리 추가(json.jar) 후

 
결과: 

 

 

 

 

'+ > Etc' 카테고리의 다른 글

공공데이터 API 활용하기 (2) - 심화  (0) 2023.10.19