🛎 REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처이고, REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.
REST API는 자원, 행위, 표현으로 구성이 되며, REST는 자체 표현 구조(self-descriptive message)로 구성되어 REST API만으로 HTTP 요청의 내용을 이해할 수 있다.
구성 요소 | 내용 | 표현 방법 |
---|---|---|
자원 | 자원 | URI |
행위 | 자원에 대한 행위 | HTTP 요청 메서드 |
표현 방법 | 자원에 대한 행위의 구체적인 내용 | 페이로드 |
REST에서 가장 중요한 기본적인 원칙은 두 가지가 존재합니다. URI는 리소스를 표현하는 데 집중하고, HTTP 요청 메서드는 행위에 대한 정의를 표현하는 데 집중합니다. 이것이 RESTful API를 설계하는 중심 규칙입니다.
⚽️ URI는 리소스를 표현해야 한다.
: URI는 리소스를 표현하는 데 중점을 두어야 합니다. 리소스를 식별할 수 있는 이름은 동사보다 명사를 사용해야 합니다. 따라서 이름에 행위에 대한 표현이 들어가서는 안됩니다.
🏀 리소스에 대한 행위는 HTTP 요청 메서드로 표현한다.
: HTTP 요청 메서드는 클라이언트가 서버에게 요청의 종류와 목적(리소스에 대한 행위)을 알리는 방법입니다. 주로 5가지 요청 메서드를 사용하여 CRUD(Create Read Update Delete)를 구현합니다.
HTTP 요청 메서드 | 종류 | 목적 | 페이로드 |
---|---|---|---|
GET | index/retrieve | 모든/특정 리소스 취득 | X |
POST | create | 리소스 생성 | O |
PUT | replace | 리소스 전체 교체 | O |
PATCH | modify | 리소스 일부 수정 | O |
DELETE | delete | 모든/특정 리소스 삭제 | X |