REST는 REpresentational State Transfer
의 줄임말로 HTTP 통신에서 자원을 '어떤 방식'으로 '어떻게' 전달할지 정하는 것이다.
REST는 HTTP URL을 통해 해당 자원을 명시하고 HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 적용하는 것
REST API는 말 그대로 REST한 API이다. 즉, REST 원리를 따르는 모든 API를 뜻한다.
RESTful API란 REST API 원칙을 잘 수행하고 따르는 API이다.
다음과 같은 규칙을 잘 따르는 API를 RESTful하다고 말할 수 있다.
1. URL의 마지막에
/
(slash)를 포함하지 않는다.마지막에
/
가 포함되면 다음 엔드포인트가 존재하는지 확인하기 때문에 효율적이지 않다.
- (GOOD)
http://api.ping/pong
- (BAD)
http://api.ping/pong/
2.
_
(underbar) 대신-
(dash)를 사용한다.
_
(underbar)는 주소창의 border와 겹쳐보일 수 있음(가시성이 없다).
그리고-
(dash)의 사용도 최소한으로 하며 정확한 단어의 표현이 불가피한 경우_
대신-
를 써서 단어를 결합한다.
- (GOOD)
http://mypage/sum-of-products
- (BAD)
http://mypage/sum_of_products
3. 소문자를 사용한다.
최대한 소문자를 사용하여 URL을 나타낸다.
- (GOOD)
http://alpabet/abcd
- (BAD)
http://alpabet/ABCD
4. Method는 URL에 포함시키지 않는다.
- (GOOD)
DELETE http://test/products/1
- (BAD)
POST http://test/delete-product/1
5. URL에는 되도록 자원만 표기한다.
자원의 정보만 표기한다(명사로 표기). 동사는 되도록 자제
- (GOOD)
http://products/image/1
- (BAD)
http://products/show-image/1
6. 확장자(.png , .jpg)는 사용하지 않는다.
- (GOOD)
http://products/image/1
- (BAD)
http://products/image/1.jpg
당신의 프로필 사진부터 RESTful한 코드를 짜실 것 같은 신뢰가 느껴집니다!