springboot를 기반으로 공공데이터 api를 호출해보도록 하겠습니다.

먼저,

공공데이터 홈페이지에서 조회를 원하는 api에 대한 신청을 해야됩니다. 신청하면 승인은 바로 나게됩니다.

 

아래 사이트로 들어가 로그인을 합니다.(회원가입이 안되어 있다면, 회원가입 후 진행합니다)

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

 

공공데이터포털

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

www.data.go.kr

 

저는 지진대피소 정보를 리턴해주는 api를 대상으로 해보겠습니다.

 

활용신청을 눌러줍니다.

아래 화면이 나오면 시스템 유형 등을 선택해주고 신청을 하도록합니다.

 

 

아래 페이지에 오면, 신청내역이 조회됩니다.(승인은 바로 납니다)

신청한 api정보를 클릭하면,

 

아래 처럼 상세정보가 조회됩니다.

상세 스펙 확인을 위해 기술문서를 조회해보겠습니다. 참고문서를 선택해 다운로드 받습니다.

아래 와 같이 참고문서에는 API호출, 응답에 대한 상세 스펙을 확인 할 수 있습니다.

 

Call Back URL이 우리가 호출해야 할 API주소 입니다.

 

 

그럼 실제 호출테스트를 해보겠습니다.

 

기본적으로 공공데이터의 경우 ServiceKey입력이 필요합니다. ServiceKey는

마이페이지-> api상세정보 아래 빨간색 박스의 정보를 복사해서 붙여 넣어 주면 됩니다.

 

 

springboot프로젝트로 넘어 옵니다.

RestTestController 클래스를 하나 생성해줍니다.

가장 기본적인 HttpURLConnection 객체를 활용해 호출해 보도록 하겠습니다.

 

*다른 java파일은 무시하셔도 됩니다.

 

result에 <xmp> </xmp>를 처음과 끝에 달아 준 것은 xml형태 그대로를 브라우저에서 출력해보기 위함입니다.

 

이제 브라우저에서 실행해보도록 하겠습니다. 

GetMapping으로 /apitest를 설정해두었으니 브라우저에서도 그대로 입력해줍니다.

 

그럼 아래와 같이 정상적으로 호출되 결과 값인 xml원문 그대로를 확인 할 수 있습니다.

 

공공데이터의 경우 xml, json 두 형태를 제공하는 경우도 많습니다.

만약 json형태로 출력하고 싶으시다면,  api파라미터 값 중 type = json으로 설정해주면됩니다.

 

json으로 변경하고 출력하면 아래와 같이 출력됩니다.

 

LIST
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기