@참고 리소스 원형
- 도큐먼트: 객체 인스턴스나 데이터베이스 레코드와 유사한 개념
- 컬렉션: 서버에서 관리하는 디렉토리라는 리소스
- 스토어: 클라이언트에서 관리하는 리소스 저장소
URI는 정보의 자원을 표현해야 한다.
자원에 대한 행위는 HTTP Method로 표현해야 한다.
GET /members/delete/1 -> DELETE /members/1
GET /members/show/1
-> GET /members/1
GET /members/insert/2
-> POST /members/2
경로 부분 중 변하는 부분은 유일한 값으로 대체한다.(즉,id는 하나의 특정 리소스를 나타내는 고유한 값이다.)
POST /students
DELETE /students/12
슬래시 구분자(/)는 계층 관계를 나타내는데 사용한다.
- ex) http://restapi.example.com/houses/apartments
URI 마지막 문자로 슬래시(/)를 포함하지 않는다.
Ex) http://restapi.example.com/houses/apartments/ (X)
하이픈(-)은 URI 가독성을 높이는데 사용
밑줄(_)은 URI은 사용하지 않는다.
URI 경로에는 소문자
파일확장자는 URI에 포함하지 않는다
Ex) http://restapi.example.com/members/soccer/345/photo.jpg (X)
Ex) GET / members/soccer/345/photo HTTP/1.1 Host: restapi.example.com Accept: image/jpg (O)
리소스 간에는 연관 관계가 있는 경우
GET : /users/{userid}/devices
(일반적으로 소유 ‘has’의 관계를 표현할 때)@응답상태코드
- 1xx : 전송 프로토콜 수준의 정보 교환
- 2xx : 클라어인트 요청이 성공적으로 수행됨
- 3xx : 클라이언트는 요청을 완료하기 위해 추가적인 행동을 취해야 함
- 4xx : 클라이언트의 잘못된 요청
- 5xx : 서버쪽 오류로 인한 상태코드