REpresentational State Transfer
웹에 존재하는 모든 자원을 http URL로 표현하여 자원에 대한 주소를 지정하는 방법론, 또는 규칙입니다. 즉 자원을 어떻게 한다를 구조적으로 깔끔하게 표현한것
그 자체만으로 API의 목적이 무엇인지 알기 쉽다.
표준 규약이 없어서 실제 많이 사용되지만 비효율적이거나 비생산적인 패턴을 작성할 수 있다.
- URI의 정보는 명확하게 표현한다. 리소스는 명사로 표현
- 리소스의 HTTP method는
(POST, GET, PUT, PATCH, DELETE)
로 표현한다.
1) URI에 HTTP method가 들어가면안된다.ex) GET delete/users/1
2) URI에 동사가 포함되면 안된다.ex) POST insert/users/1, GET users/show/1
- 파일의 경우 확장자를 표현시키지 않는다.
jpg,png,gif
등등
ex)GET users/1/profile-photo.jpg
- URI가 길어지는 경우
_
가 아닌-
를 사용한다.
ex)GET users/1/profile-photo
(O),GET users/1/profile_photo
(X)- 마지막에
/
를 사용하지 않는다.ex) GET delete/users/1/
-URI 경로에 대문자 사용을 피한다.
GET,DELETE,PUT,PATCH,
등 method를 활용하여 요청한 하나의 데이터를 가지고 올 때 사용한다.
EX)GET users/1, DELETE users/2/profile-photo
filtering(분류)
, sorting(정렬)
, searching(검색)
할 때 사용한다.
또한 pagination(한 페이지에 몇개의 상품이 나오게 하는지 표시할때 사용한다.)-(offset,limit)
페이지를 나눌때도 사용
GET /users/1
- 404 NOT FOUND 없는 정보라는 에러발생 GET /users?id=1
- 에러가 발생하지 않고 빈리스트를 가지고 옴각 상황에 맞게 활용하여 적용시켜주면 데이터를 요청하고 응답 시 편리하다.