[JavaScript] 44. REST API

do_large·2021년 1월 17일
1

Deep Dive

목록 보기
12/13
post-thumbnail

REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처고,
REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.

REST API의 구성

REST는 자체 표현 구조로 구성되어 REST API만으로 HTTP요청의 내용을 이해할 수 있다.
아래는 REST API를 구성하는 3가지 요소로 구성된다.

자원

자원 자체를 나타내며, URI의 엔드포인트로 표현한다.

행위

자원에 대한 행위를 나타내며, HTTP 요청 메서드로 나타낸다.

표현

자원에 대한 행위의 구체적 내용이며, 페이로드로 표현한다.

REST API 설계 원칙

1. URI는 리소스를 표현해야 한다.

리소스를 식별할 수 있는 이름은 동사보다는 명사를 사용한다.

# bad
GET /getTodos/1
GET /todos/show/1

# good
GET /todos/1

2. 행위에 대한 정의는 HTTP 요청메서드를 통해 해야한다.

HTTP요청 메서드는 클라이언트가 서버에게 요청의 종류와 리소스에 대한 행위를 알리는 방법이다.
리소스에 대한 행위는 HTTP요청 메서드를 통해 표현하며 URI에 표현하지 않는다.

아래는 주로 사용하는 5가지 요청메서드이다.

GET

모든/특정 리소스를 취득하기 위해 사용한다.

POST

리소스를 생성하기 위해 사용하고, 생성하려는 값들을 같이 서버로 보낸다.

PUT

리소스를 모두 교체한다. 수정하고자 하는 값을 포함해 해당 데이터의 모든 구성요소를 다시 보내야한다.

PATCH

리소스를 일부 수정한다. 수정하고자 하는 값만 보내면 된다.

DELETE

모든/특정 리소스를 삭제하기 위해 사용한다.

아래의 예시처럼 특정 리소스를 삭제하려면 URI에 delete를 적는것이 아니라,
DELETE 메서드를 사용해야 한다.

# bad
GET /todos/delete/1

# good
DELETE /todos/1

0개의 댓글