<aside>
📚 토글 (▶ )을 클릭하여, 교육자료의 목차를 확인하고 빠른 이동을 할 수 있습니다.
(전체 토글을 열고닫는 단축키 - Windows : Ctrl
+ alt
+ t
/ Mac : ⌘
+ ⌥
+ t
)
1. API란?
- API(Application Programming Interface)는 서비스(웹과 앱에서 동작하는 모든 기능)와 서비스가 서로 통신하기 위한 규약을 뜻합니다.
- 여러분들이 앱이나 웹 서비스에서 어떤 기능을 동작시키면 API를 통해서 조회하거나, 동작한다고 생각하시면 됩니다.
- 사람끼리 소통을 하면 융통성이 있기 때문에, 적당히 말을 해도 알아듣지만, 프로그램끼리 소통할 때에는 융통성이 없기 때문에, 정해진 규약대로 요청해야 에러가 뜨지 않고 우리가 원하는 내용으로 응답을 합니다.
- 요청하는 것을 Request, 요청에 대한 응답을 Response라고 합니다.
2. API 활용의 장점
- 프론트에서는 소통할 프로그램이 어떤 프로그램인지, 구현이 어떻게 되어있는지 신경 쓰지 않고 약속된 API 만 사용하면 필요한 내용을 받을 수 있습니다.
- 공통된 로직을 효율적으로 관리할 수 있습니다
- 하나의 프로그램과 소통하는 서비스가 있을 경우 각각의 서비스에서 동일한 로직을 만드는 것 보다는 하나의 프로그램에서 공통된 로직을 API를 통해 제공해 주는 것이 효율적이고 유지보수에도 편리합니다.
- 유지 보수 및 확장이 용이합니다
- 웹, 안드로이드, IOS 등 다양한 환경에서 동일한 API 를 사용할 수 있어 서로 다른 환경에서 동일한 기능 구현이 간편해집니다.
- 업데이트나 버그 수정을 할 때도 API 를 제공하는 프로그램만 수정하면 되기 때문에 유지 보수적으로도 효율적입니다.
3. API의 종류
<aside>
💡 API는 접근 방식에 따라서 분류할 수도 있고, 아키텍처 스타일에 따라 분류 할 수도 있습니다. 사내에서 주로 활용하는것이 Private API이고, 외부 파트너와의 계약을 통해서 활용하는것이 Partner API, 공공을 위해 오픈한 것이 Public입니다. 또한 최근에는 대부분 REST API로 활용된다고 이해하시면 됩니다.
</aside>
(1) 접근 방식에 따른 분류
- Private API
- API를 기업이나 연구 단체 등에서 사용하는 다양한 애플리케이션과 시스템의 통합을 위해 사용하는 것으로 단체 내부에서만 사용할 수 있도록 하는 것입니다. 대부분의 회사에서 자체적으로 기능을 활용하기 위해서 사용하는 API입니다.
- 예를 들어 여러분이 호갱노노에서 ‘호반 써밋 라테라스’라고 검색을 하게 되면, 프론트에서 호갱노노 DB로 ‘호반 써밋 라테라스’를 조회하게 해서 결과를 노출시키게 하는것이 Private API의 역할입니다.
- Partner API
- API를 특정 비즈니스 파트너와 공유하는 것으로, 공유받은 API를 품질 저하 없이 사용할 수 있으며 수익 창출을 목표로 사용하는 것입니다.
- 예를 들어, 스카이 스캐너에서 비행기 티켓을 조회하면, 각 항공사 또는 여행사의 Partner API를 통해서 그들의 DB를 조회해서 결과를 노출 시키게 됩니다
- Public API
- 모든 사람들에게 API를 제공하는 것으로, 개인이 API와 상호작용하는 프로그램을 무료로 개발할 수 있습니다.
- 다양한 아이디어를 통해 혁신적인 프로그램의 등장을 목표로 사용되고 있습니다. 공공데이터 포털 API, 구글 클라우드 API, 네이버 오픈 API 등 다양한 기관과 기업에서 제공하고 있습니다.
(2) 아키텍처 스타일에 따른 분류
- SOAP(Simple Object Access Protocol) API
- 예전에 많이 쓰이던 방식으로 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 최근 10년사이에는 1. 구조가 복잡하고 2. REST에 비해서 상대적으로 무겁고 속도도 느려서 자주 쓰이지 않는 방식입니다.