REST API
API
- API(Application Programming Interface): 클라이언트가 리소스를 잘 활용할 수 있도록 서버가 제공하는 인터페이스(interface)
- 특히 웹API는 HTTP 프로토콜을 기반으로, 클라이언트의 요청과 서버의 응답에 따라 리소스를 잘 주고 받기 위한 일종의 메뉴얼
REST API
- REST(Representational State Transfer) API: 웹에서 사용하는 데이터나 리소스를 HTTP URI로 표현해서 HTTP프로토콜을 통해 요청과 응답을 정의하는 방식
예시
- 아이스크림 가게 웹사이트(클라이언트)와 아이스크림 가게 웹사이트의 데이터베이스(서버)가 있다고 생각해보자.
GET METHOD
현재 아이스크림 가게에 어떤 맛의 아이스크림의 재고가 남아있는지 확인해보자!
- 클라이언트는 GET을 활용하여 어떤 맛의 아이스크림이 있는지 서버에 요청함
- 서버는 현재 어떤 맛에 아이스크림이 있는지 응답함
PUT METHOD
초콜릿 아이스크림 재고가 다 떨어져서 바닐라 아이스크림을 새로 가져왔다. 서버에 아이스크림 재고를 업데이트해보자.
- 클라이언트는 PUT를 활용하여 초콜릿 아이스크림을 바닐라 아이스크림으로 update함
POST METHOD
딸기 아이스크림이 입고됐다. 서버에 딸기 아이스크림을 새로 등록해보자.
- 클라이언트는 POST를 활용하여 딸기 아이스크림 재고 정보를 생성함
Open API
- 누구에게나 열려있는 API
- 제한없이 사용할 수 있지는 않음
- API마다 이용 수칙이 있고, 그 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있음
예시
네이버 오픈API
카카오 오픈API
API Key
- API를 이용하기 위해서는 필요하며, 일종의 서버 열쇠임
- API Key가 필요한 경우에는 로그인한 이용자에게 자원에 접근할 수 있는 권한을 API Key의 형태로 제공하고, 데이터를 요청할 때 API key를 같이 전달해야 원하는 응답을 받을 수 있음
참고자료
REST API란 무엇입니까?