API란?
- Application Programming Interface : 응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
- 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법
- 식당 메뉴판 → 식당과 손님이 음식을 주고받기 위한 것
- 어떤것을 할 수 있다는 것을 만들어 놓으면 그것에 맞춰서 유저와 서버가 데이터를 주고받는 정확한 방법임
- 특징 :
- 구현과 독립적으로 사양만 정의되어 있음
- API에따라 접근 권한이 필요할 수 있음
- JAVA API, 여러 기업들의 오픈 API
- 방법?
- 그냥 코드임
- app.get(~url) 을 붙이면 해당 function의 내용이 API로 되고 get 요청을 하면 코드가 실행됨
- 코드
- API가 가져가야할 내용
- 요청 방식 (Get, Post, …) : 데이터를 보낼 것인지, 저장할 것인지, …
- 어떤 자료를 요청할지 : Endpoint
- 파라미터 : 자료요청에 필요한 추가정보
- 웹에 따라 REST API라는 원칙에 따라 작성하면 좋음
- 브라우저를 통해서 GET 요청을 보내고 있음(버튼 누르면 API 요청하도록 html에 박혀있음)
API 종류
-
Public API : 누구나 사용 가능한 공개 API
-
Private API : 사내에서 한정적으로 사용하는 API
-
Partner API : 미리 정해둔 사용자만 쓰는 API
-
모든 프로그램은 API를 가질 수 있음
- Window API : 윈도우 운영체제 기능들을 사용 가능함
- Database 관리 프로그램 API : DB 입출력 기능들 사용 가능
- XX 프로그램 API : XX 기능 사용 가능
-
API로 만드는 비지니스 모델
+)Library, Framework
- Library와 API의 차이점은 구현 로직의 유무
- Library와 Framework의 차이점은 응용 프로그램의 흐름 주도권을 누가 가지고 있는
Library : 기능구현 함수가 모여있는 집합체로 독립성을 가지며, 응용프로그램이 능동적으로 사용함
Framework : 응용 프로그램이나 소프트웨어 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경
상호협력하는 클래스와 인터페이스의 집합, 프레임워크가 용응프로그램에 사용된 코드를 호출해 사용함
상기 내용은 우아한테크코스 Youtube 내용을 참고하여 작성하였습니다.