REST는 분산 하이퍼미디어 시스템(ex. web)을 위한 아키텍처 스타일(제약조건의 집합)

HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처

API는 서로 다른 프로그램간(ex. Server와 Cleint간)의 소통 방법

REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미

REST의 기본 원칙을 성실히 지킨 서비스 디자인을 RESTful이라고 표현

1. REST API의 구성

구성 요소 내용 표현 방법
자원(resource) 자원 URI(엔드포인트)
행위(verb) 자원에 대한 행위 HTTP 요청 메서드
표현(representations) 자원에 대한 행위의 구체적 내용 페이로드

2. REST API 설계 원칙

REST에서 가장 중요한 기본적인 원칙은 URI는 리소스를 표현하는 데 집중하고 행위에 대한 정의는 HTTP 요청 메서드를 통해 하는 것.

1. URI는 리소스를 표현.

URI는 리소스를 표현하는 데 중점을 둬야 하고 리소스를 식별할 수 있는 이름은 명사를 사용한다.

주로 컬렉션과 엘리먼트(고유식별자)를 활용하여 엘리먼트 같은 경우 주로 id 값을 사용하는 것이 일반적이다.

# bad
GET /getTodos/1
GET /todos/show/1
POST /setTodos
POST /deleteTodos

# good
GET /todos
GET /todos/1