자바/스프링(Spring)

(Java) 공공데이터 API 가져와서 쓰는법

류창 2023. 3. 29. 17:32
반응형

 

 

 

공공데이터가 필요할때  API를 가져와서 쓰는법을 작성하려고한다.

 

이번 테스트할 공공데이터서비스 기관은 여기

 

https://data.seoul.go.kr/

 

열린데이터광장 메인

데이터분류,데이터검색,데이터활용

data.seoul.go.kr

 

 

이곳에서 데이터를 가져오면

 

회원가입 및 API키를 발급받아야한다.

 

API키 없이  sample로  호출할수는있다. 

 

하지만 sample은 데이터 갯수가 5개만 지원하기에 이왕 하는거 API키 발급받고 전부 가져오자.

 

 

 

https://data.seoul.go.kr/together/guide/useGuide.do

 

열린데이터광장 메인

데이터분류,데이터검색,데이터활용

data.seoul.go.kr

 

회원가입을하고 , 인증키를 신청하자.

 

이 사이트는 친절하게 아래에  언어마다  URL 신청하는 법을 다 적어놓으셧다. (격한 감사)

 

복사 붙이기하고 고칠부분만 고치면된다.

 

https://data.seoul.go.kr/together/mypage/actkeyMng_ss.do

 

열린데이터광장 메인

데이터분류,데이터검색,데이터활용

data.seoul.go.kr

 

 

인증키 받았으면 받고싶은 데이터를 검색해서 쓰자

 

 

필자는 지하철 실시간 도착정보를 받아보려고한다.

 

요청인자는  key , type , service ,start_idx, end_idx, statnNm 이다

 

key~ end_idx는 기본 양식이고

 

statnNm  지하철역명은 이 서비스만 갖는 고유한 인자이다. 

 

그대로 코드를 복사하고 고칠부분만 고쳤다

 

첫번째 기본 URI는  내가 받고싶은  지하철도착정보의 기본 uri

 

두번째는 인증키

 

세번째는  JSON으로 바꿧고

 

네번째는  지하철도착정보의 서비스 이름

 

다섯번째 ,여섯번째는   페이징넘버다. 처음부터~100페이지까지 출력해봤다.

 

 

앞에서 json으로 받기로했으니,  Content-type도 json으로 바꿧다.

 

 

프로젝트를 실행하고  localhost:8080/api를 호출해보면

 

잘 나온다

 

 

 

추가로 여기서 서버데이터를 JSON으로 변형하고싶다면  

JSON파서코드를 짜면된다.

 

https://mvnrepository.com/artifact/org.json/json

 

 

여기서 JSON 파싱 라이브러리를 다운받아준다.

 

 

 

StringBuldir의 결과값을 문자열로 바꾼뒤,  JSONObject로 바꾼다. 

 

그 후,  여기서부턴  JSON의 키값을통해 데이터를 뽑으면된다.

 

필자는 일단,  실시간정보가 담긴 "realtimeArrivalList" 키값을뽑아 출력해보았다.

 

잘나온다!

 

근데 엄청난 데이터 컬럼수다..   여기서 내가 받고싶은 정보를 얻고싶으면  

또  JSON KEY를통해  데이터를 뽑아야한다.

 

 

이게 무슨데이터야 할땐 역시  API 출력인자를 다 설명해주셧다.

 

API센터찾아가 설명서를 본 뒤,  내가 뽑고싶은 키를 뽑아서 사용하면된다.

 

 

 

 

 

--------------------------------------------------------------------------------------------

 

프론트서버와 백엔드서버의 통신 

 

MSA의 서버간의 통신 등등

 

다양하게 사용할수있는 코드다.

 

물론, 데이터의 요청헤더와 출력값에따라 내용이 많이 바뀌어야하지만, 기본 틀은 동일하다.

 

 

반응형