[ Spring ] 공공데이터 API
💎 공공데이터란?
📢 공공데이터(Open Data)란
- 데이터베이스, 전자화된 파일 등으로 공공기관에서 사용할 목적으로 처리된 자료 또는 정보이다. 공공기관에서의 일상적 업무수행의 결과물로 생성 또는 수집/취득한 다양한 형태(텍스트, 이미지, 동영상 등)의 모든 자료이다.
📢 공공데이터 개방
- 공공기관이 이용자에게 정보를 재활용할 수 있도록 제공하고, 제공받은 정보를 상업적/비영리적으로 이용할 권한을 부여하는 것
📢 공공데이터 활용
- 정부에서 운영하고 있는 공공데이터를 제공하는 웹 애플리케이션으로 누구나 자유롭게 공공데이터를 확인 하고 관련 내용을 활용하여 애플리케이션을 만들 수 있다.
📢 공공데이터 포털 사이트 링크
📢 공공데이터 파일 다운로드 방식
- CSV, XML, exls 형태의 파일로 데이터를 제공하는 것 사용자가 직접 파일을 다운로드 받아 사용할 수 있다.
💎 OpenAPI 방식
🔊 요청변수와 출력결과
🎈 요청변수(Request Parameter)
- OpenAPI 서버에 요청 시 필요한 속성들을 나열한 것이다. 항목구분이 필수인 속성들은 반드시 key=value 형식으로 전달 해야만 한다
🎈 출력결과(Response Element)
- OpenAPI 서버에 요청 결과 응답메세지에 포함된 데이터의 형식을 의미한다. 기본적으로 결과 코드, 결과 메시지 등을 포함하고 있으며 실제 필요로 하는 값들이 담겨 있는 형식이므로 API 문서를 잘 파악해서 구현하고자 하는 application과 연동해야 한다
🔊 데이터 포맷 정류
🎈 XML 형식
- HTML과 같은 마크업 언어(Markup Language)로 웹에서 구조화된 문서를 전송 가능하도록 설계되어 각 요소들의 독립성을 보장함으로써 문서의 호환성, 내용의 독립성, 요소 변경의 용이성 등의 특성을 제공하는 사용자 정의 태그 문서
🎈 JSON 형식
- 자바스크립트의 구문 형식으로 프로그래밍 언어나 플랫폼에 독립적이기 때문에 C, C++, C#, Java, JavaScript 등 많은 언어에서 이용가능
🎈 CSV 형식
- 각 항목이나 내용마다 쉼표(comma)로 구분되어 저장 CSV형식의 파일은 텍스트 파일로 보존되며 문서처리기나 편집기에서 열람 및 편집 가능 엑셀에서 ‘다른 이름으로 저장'시 파일 형식을 CSV 포맷으로 변환도 가능
🎈 XLS 형식
- 마이크로소프트(MS)사의 엑셀 문서 형식으로 스프레드시트를 연결하고 통합하여 다양한 도형과 차트 등 자료를 작성하는 기능 제고
💎 공공데이터 OpenAPI를 사용하기 위한 절차
1) 공공데이터 포털(www.data.go.kr) 회원가입 후 로그인
2) 사용하고자 하는 공공데이터 조회 및 선택
3) OpenAPI 개발 계정 신청
- ↑ 이 페이지에서 보여지는 인증키는 활용신청 한 공공데이터를 사용하기 위해 발급받은 나만의 인증키이다
4) 개발하고자 하는 Application에서 공공데이터 연동 기능 구현
- ↑ 일반 데이터를 시각화해서 볼때는 xml 파일로 보는게 보기에 편하다 / 응답데이터상세 (참고문서에 명세)
💎 공공데이터 활용 ( Web Application )
🔊 HttpUrlConnection 객체 사용 절차
1. 요청할 주소를 전달해서 java.net.URL 객체 생성하기
2. 생성된 URL 객체를가지고 HttpUrlConnection 객체 얻어내기
3. 요청 시 필요한 Header 설정하기
4. 해당 OpenAPI 서버로 요청 보낸 후 입력 스트림을 통해 응답데이터 받기
5. 다 사용한 스트림 객체 반납하기
🔊 비동기식으로 웹 애플리케이션에 적용하고자 할 때의 절차
1. Jsp에서 현재 웹 애플리케이션 서버로 ajax 요청
2. Controller에서 요청 받기 (이때 요청 시 전달값이 있다면 기록)
3. HttpURLConnection 객체 활용해서 OpenAPI서버에 요청하여 응답데이터 받기
4. 3번 과정에서의 응답데이터를 Client에게 다시 응답
5. Client측에서 돌려받은 응답데이터를 가지고 파싱 작업 후 웹 페이지에 시각화 하기