REST API란?
- REST는 Representational State Transfer의 약자이고, REST AIP는 이러한 REST 형식의 API를 의미한다.
- REST를 만족하기위한 요구조건은 다음과 같다.
- Client-Server : HTTP를 이용함으로써 만족함
- Stateless : HTTP를 이용함으로써 만족함
- Cache : HTTP를 이용함으로써 만족함
- Uniform interface
- Resource는 URI로 식별되어야 한다.
- Resource를 생성, 수정, 추가 시 HTTP 메시지에 표현을 해 전송해야한다.
- 메시지는 Self-Descriptive 해야한다. JSON 메시지가 어디에 전달되는지, 이 메시지의 구성요소가 어떤 의미를 표현해야 Self-Descriptive라 부른다.
- 애플리케이션의 상태는 Hyperlink를 이용해 전이되어야 한다.(HATEOAS)
<a>
태그와 같이 웹 페이지에서 제공하고 있으나 이를 API에서 제공하기는 쉽지않다.
- Layer system : HTTP를 이용함으로써 만족함
- Code on Demand : HTTP를 이용함으로써 만족함
- REST의 요구조건 중 Uniform interface를 지원하는 것이 쉽지 않아 서비스에서 제공하는 API들을 Web API(HTTP API)라고 부르기도 한다.
Web API란?
- URI는 정보의 자원을 표현해야 한다.
- 자원에 대한 행위는 HTTP Method(
GET
, POST
, PUT
, DELETE
)로 표현한다.
- 슬래시(
/
)는 계층을 나타낼 때 사용한다.