PMB 부트캠프 12기/데일리과제

PMB 12 W7D3 공공데이터 오픈 API 기능과 구조 살펴보기

clap.jin 2022. 6. 24. 16:47


 

API ( Application Programming Interface) : '애플리케이션'을 ‘프로그래밍’ 하는데 필요한 ‘인터페이스’

API는 서버와 클라이언트가 서로 정보를 어떻게 주고받을지에 대해 미리 정의한 규칙으로 통신할 때 기반이 되는 역할을 한다.

예를 들어 은행 창구의 직원은 고객의 돈을 은행에 넣고 빼는 과정을 돕기 위해 고객과 은행의 경계에서 해당 업무를 처리하는 역할을 하는 것과 유사하다

 

< 은행창구 직원 역할 >

< API 역할> 

 

Open API : '누구나 쓸 수 있는 공개된 API'를 뜻한다

잘 설계한 API를 오픈해 제공하는 이유는 자사의 서비스 기능을 다양한 서비스에서 활용할 수 있도록 해 서비스의 저변을 넓히는 목적이 있다. 메타 서비스를 제공하는 대기업들의 시장 확대를 목적으로 오픈 API를 운영하거나 공공의 목적으로 비영리기관에서 무료로 API를 제공하는 경우도 있다.

 

RESTful API

일정한 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 만들어 사용하기로 하였는데 그 중 대표적인 방식이 RESTful API

RESTful API의 명령 종류

Create(생성) : POST
Read(읽어오기) : GET
Update(변경) : PUT(전체)/PATCH(일부)
Delete(삭제) : DELETE

Open API 기능과 구조 파악하기

Open API를 살펴보기 위해 공공데이터포털에서 '한국공항공사_항공기 운항정보'에 대한 자료이며 한국공항공사에서 제공하는 국제선 운항 스케줄의 정보를 얻을 수 있다.

 

1) API 기본정보

2) 요청변수

3) 출력 결과

 


Open API 입출력 구조 살펴보기

기능 하나를 선정해 API의 역할, 입출력 구조를 정리해 봅니다.

 

OPEN API를 입출력 구조를 살펴보기 위해 개발자들이 많이 쓴다는 포스트맨 API 플랫폼을 이용해 보았다.

처음 API를 이용해 본 비개발자인 나도 쉽게 사용할 수 있을만큼 잘 되어있다.

 

https://postman.com

포스트맨 다운로드 URL: https://en.wikipedia.org/wiki/Postman_(software)

포스트맨 설명:  API를 설계, 빌드, 테스트 및 반복할 수 있는 API 플랫폼이다.

 

1) 요청변수 설정

 

2022년 6월 25일 김포공항 출발해서 제주공항으로 도착하는 제주항공 7C 147 편 항공편의 정보를 설정해보았다.

 (1) GET 설정 :가장 맨 위 RESTful API의 READ 읽어오기 GET 으로 명령 ( Open API는 GET 으로만 가능하다)

 (2) 주소 입력: 지정된 사이트 값을 복사하여 붙여 넣는다.

 (3) Params 입력 : KEY VALUE 값은 전부 입력한다. ( 한 가지라도 누락시 에러가 뜬다.)

( 요청변수를 설정하고 출력결과를 확인하는 과정에서 계속해서 에러가 났고, 여러번 입력값을 바꿔서 요청한 끝에 OPEN API 문제점을 발견하게 되었다. 출발도시와 도착도시가 잘못 설계되어있어, 출발 도시 코드를 도착도시 KEY 값에, 도착 도시 코드를 출발도시 KEY 값에 입력해야 올바른 정보가 나온다. API 가 잘못설정되어있다고 어디다 말해야하는거지... 우선 과제도 잘못 설계된거에 맞춰서 출발-도착도시를 바꾸어서 진행하였다.)


2) 요청변수 출력 결과 확인

 

 

노란색 박스부분을 보면, 요청변수 설정에 대한 출력된 내용을 확인할 수 있다.

마지막 줄에 보면, 추가로 ArrivalTime 21시40분이라는것도 제공해줌을 알 수 있다.

연두색 박스부분을 보면. 7C147 운항편은 2022년 03월27일부터 2022년 10월 29일까지의 정규운항편으로 이루어져있고,  일요일부터 토요일까지 매일 운항된다는 사실도 함께 알 수 있다.

(처음에 KEY VALUE 입력한 값만 호출되는게 아니고, OPEN API 출력결과로 설정한 값 모두 출력이 된다 -3번표 참조) 

 

네이버와 제주항공 홈페이지에서 6월25일 7C147편을 확인한결과 API의 결과값처럼 21시 40분에 도착하고, 매일 운항하는 정규편임을 알 수 있었다.

 

 


https://www.data.go.kr/data/15000126/openapi.do

 

한국공항공사_항공기 운항정보

한국공항공사에서 제공하는 공항코드정보,국내선 운항스케줄, 국제선 운항스케줄,실시간 운항정보

www.data.go.kr

https://www.youtube.com/watch?time_continue=809&v=kA_46xWOhqY&feature=emb_logo 

https://nhj12311.tistory.com/393

 

포스트맨(postman) 사용법(설치, 다운로드)

전부터 웹 개발을 하면서 아주 유용하게 사용했던 프로그램(서비스)가 있어 소개해보려고 합니다. 바로 포스트맨(postman)입니다. 쉽게 말하자면 http(https 포함) 요청을 날리고 응답을 보여주는 서

nhj12311.tistory.com