REST(REprentational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것
예를 들어 영화 API에서 사용자가 영화를 읽고, 댓글을 달고, 수정하고, 삭제하는 것들을 말한다.
HTTP URL를 통해 Resource를 명시하고,
HTTP Method를 통해
해당 URL에 대한 CRUD를 적용하는 것이다.
Resource(자원): HTTP URL
Verb(자원에 대한 행위): HTTP Method
Representations(Verb의 내용): HTTP Message Pay Load
Pay Load란 전송되는 데이터를 의미한다.
장점
단점
REST의 원리를 따르는 API이다.
동사를 사용하지 않고, 소문자를 사용하여야 한다.
Bad Example `http://3obku.me/Cooking`
Good Example `http://3boku.me/cook`
URL마지막에 ‘/’를 포함하지 않는다.
Bad Example `http://3obku.me/rest/`
Good Example `http://3boku.me/rest`
‘_’대신 ‘-’을 사용한다.
Bad Example `http://3obku.me/ksdc_hyper`
Good Example `http://3boku.me/ksdc-hyper`
파일 확장자는 URL에 포함하지 않는다.
Bad Example `http://3obku.me/screenshot.png`
Good Example `http://3boku.me/screenshot`
HTTP Method만 사용한다.
Bad Example `http://3obku.me/edit-class`
Good Example `http://3boku.me/put-class`
REST의 원리를 따르는 시스템이다.
하지만 모든 REST를 사용한 API가 RESTful API는 아니다.
REST API의 설계 규칙을 잘 지킨 시스템만 RESTful하다 말할 수 있다.