study: Javascript | 숨참고 deep dive (44) REST API

Lumpen·2023년 4월 11일
0

Study

목록 보기
43/92

REST 는 HTTP/1.0 과 1.1 의 스펙에 참여했고 아파치 HTTP 서버 프로젝트의 공동 설맂바인
로이 필딩의 2000년 논문에서 처음 소개되었다
발표 당시 웹이 HTTP 를 제대로 활용하지 못하고 있는 상황을 보고 HTTP 의 장점을 최대한 활용할 수 있는
아키텍처로서 REST 를 소개했다
이는 HTTP 프로토콜을 의도에 맞게 디자인하도록 유도하고 있다
REST 의 기본 원칙을 성실히 지킨 서비스 디자인을 RESTful 이라고 한다

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

REST API 구성

REST API 는 자원, 행위, 표현 3가지 요소로 구성된다
REST 는 자체 표현 구조로 구성되어 REST API 만으로 요청의 내용을 이해할 수 있다

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

REST API 설계 원칙

REST 에서 가장 중요한 원칙은 두 가지다
URI 는 리소스를 표현하는 데 집중하고
행위에 대한 정의는 HTTP 요청 메서드를 통해 하는 것이
RESTful API 설계하는 기본적인 핵심 규칙이다

URI 는 리소스를 표현한다

URI 는 리소스를 표현하는 데 중점을 두어야 한다
리소스를 식별할 수 있는 이름은 동사 보다는 명사를 사용

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

// good
GET /todos/1

리소스에 대한 행위는 HTTTP 요청 메서드로 표현한다

HTTP 요청 메서드는 클라이언트가 서버에게 요청의 종류와 목적을
알리는 방법이다
주로 5가지 메서드를 사용하여 CRUD 를 구현한다

HTTP 메서드종류목적페이로드
GETindex / retrieve모든 / 특정 리소스 획득X
POSTcreate리소스 생성O
PUTreplace리소스 전체 교체O
PATCHmodify리소스 일부 수정O
DELETEdelete모든 / 특정 리소스 삭제X

리소스에 대한 행위는 HTTP 요청 메서드를 통해 표현하며 URI 에 표현하지 않는다

// bad
GET /todos/delete/1

// good
DELETE /todos/1
profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글