1. API란?
a. 개념
Application Programming Interface
어떠한 응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스
b. 인터페이스 정의
Interface
어떠한 두 가지가 서로 연결되고 영향을 미칠 수 있는 공간, 방법, 상황
즉, 상호간 소통을 위해 만들어진 "접점"
UI (User Interface)
- 디지털 기기에 명령을 내림 -> 즉, 사용자가 소통하기 위한 접점
- User Experience : 사용자 경험과 생각의 중요성 부각
API
- 응용 프로그램 간에 데이터를 주고받는 인터페이스
- 데이터를 주고받는 양식, 인증, 호출제한 등을 이르는 말
- Server : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 프로그램 또는 장치
c. 예시
식당
- API의 역할 : 서버와 사용자를 연결해주는 매개체
기상청에 날씨 관련 데이터를 요청할 때
Google Map에 맛집 관련 데이터를 요청할 때
치킨집에서 사용할만한 API
Private API, Public API
- Private API
- Public API
- Open API라고도 함
- 날씨, 지도 데이터등 공공데이터 뿐만 아니라 다양한 데이터가 존재
2. API의 활용
a. API를 공유하는 이유
- API 기반 생태계 구축 (ex. Amazon)
- Open API로 자사 데이터 공개
- 위치기반 도서 재고 확인 서비스 -> 파트너십 체결
- 증권사 주가 예측 -> 수수료 부과
- API를 통해 수익을 올릴 수 있고, 이용하는 기업은 API를 통해 비즈니스 품질을 향상시킬 수 있다.
b. 참고
참고 API 사이트
카카오 developer
네이버 developer
3. API의 종류
SOAP API
- 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약
- Protocol = 소통 방법 = 통신 방법 = 통신 규약
REST API
- 네트워크를 통해서 컴퓨터들끼리 통신할 수 있게 해주는 아키텍쳐 스타일
SOAP API vs. REST API
GraphQL vs. REST API