본문 바로가기
  • 실행력이 모든걸 결정한다
OpenAPI/REST

[OpenAPI] 코로나 19 감염 현황(1) - 데이터 받기

by 김코더 김주역 2021. 7. 30.
반응형

1. 공공데이터포털 접속

공공데이터포털을 이용하기 위해서는 회원 가입을 해야한다.

https://www.data.go.kr/index.do

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

 

원하는 데이터를 검색하기 위해 [데이터 찾기] 또는 메인 페이지에 있는 검색창을 이용할 수 있다. 

 

 

 

2. 자료 활용 신청

가장 조회수가 높은 오픈 API 자료는 코로나 19 감염 현황이었다.

자료별로 지원하는 데이터 형식을 확인할 수 있으며, 이번 예제에서는 XML, JSON의 경우를 모두 다룬다.
이제 우측에 있는 활용 신청을 누르자.

 

활용신청을 위해 활용 목적을 작성해야 하는데, 웬만하면 간단하게 작성해도 승인이 된다.

그리고 위치정보를 포함한 사업자가 아닌 경우에는 파일 첨부를 생략해도 된다.

 

코로나19 감염 현황 자료는 활용신청 직후에 승인되지만, 실제 활용은 조금 시간이 지나야 한다.
필자는 어젯밤에 승인을 받고 1시간 후에 이용을 해봤는데, 권한이 없는 인증 키라는 에러 메시지를 받았다.

그래서 자고 일어나서 다시 시도해봤더니 성공적으로 데이터를 불러올 수 있었다.

공공데이터포털에 따르면, 최대 24시간까지 기다려야 하는 경우도 있다고 한다.

 

 

 

3. End point, 인증키 확인

마이페이지로 들어가면 활용신청 목록을 조회할 수 있다.

필자는 사전에 4개의 자료로 테스트 해봤기 때문에 4건이 조회되었다.

여기서 우리는 "공공데이터활용지원센터_보건복지부 코로나19 감염 현황"으로 접속하면 된다.

 

 

[상세설명]으로 이동하기 전에 서비스정보와 인증키를 확인하고 넘어가는 것이 좋다.

 

참고 문서

요청 URL 양식과 응답 데이터 양식을 확인할 수 있다.

 

End Point

기본 요청 URL이다.

 

인증키

URL 요청을 위한 비밀번호로, 가능한 노출시키지 않아야 한다.

한 계정당 존재하며 다른 자료들을 이용할 때도 같은 인증키를 사용하면 된다.

미리 복사해두자.

 

 

 

4. 요청 파라미터 확인

우리는 URI를 이용하여 데이터를 요청할 것이기 때문에, URL에 요청 정보를 실어서 전송해야 한다.

즉, 우리는 URL에 요청 정보를 어떻게 실어야 할지에 대한 양식을 알아야 하는 것이다. 이 것이 REST 방식의 핵심이다.

 

요청 파라미터는 [상세 보기] 페이지에서 확인할 수 있었고,

 

참고 문서에서도 확인할 수 있었다.

 

즉, 최종 요청 URI 양식은 다음과 같다.

http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19InfStateJson
?serviceKey=[여러분 계정의 서비스 키]
&pageNo=[페이지 번호]
&numOfRows=[한 페이지 결과 수]
&startCreateDt=[데이터 생성일 시작 범위]
&endCreateDt=[데이터 생성일 종료 범위]

 

예시

http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19InfStateJson
?serviceKey=abcdefghijklmnop
&pageNo=1
&numOfRows=10
&startCreateDt=20210722
&endCreateDt=20210729

 

이 URI을 그대로 주소창에 입력하고 전송했더니, 데이터가 잘 담긴 응답 메세지가 출력되었다.

 

 

 

5. 응답 메세지 구성 확인

이제 응답 메세지에서 각각의 데이터들이 무엇을 의미하는지 확인해야 한다.

 

응답 메세지의 구성은 [상세 보기] 페이지에서 확인할 수 있었고,

 

참고 문서에서도 확인할 수 있었다.

 

다음 포스팅에서는 이 데이터를 JAVA 소스코드로 가져와서 파싱하는 방법을 알아볼 것이다.

 

 

 

6. 보충

오픈 API가 아닌 파일데이터나 표준데이터셋 분류에 있는 자료들도 XML, JSON을 지원한다면 URI 요청으로 데이터를 받을 수 있다.

 

이런 경우에는 상세 페이지에서 "오픈API" 분류로 들어가면 된다.

 

주의할 점이 있다면, 요청 파라미터에 serviceKey가 없다고 해서 serviceKey를 생략하면 안된다.

그리고 [인증키 설정]은 버그가 있는지 잘 작동하지 않았다.

그래서 필자는, 요청 파라미터는 이 곳에서 확인하되 요청 URI은 위에서 했던 것처럼 여러분이 스스로 작성하는 것을 추천한다. 

반응형

'OpenAPI > REST' 카테고리의 다른 글

[OpenAPI] Postman 소개  (0) 2021.07.30
[OpenAPI] 코로나 19 감염 현황(2) - 데이터 파싱  (0) 2021.07.30

댓글