GET /members/delete/1 (X) -> delete와 같은 행위 표현 X
GET /members/1 (O)
METHOD | 역할 |
---|---|
POST | 리소스 생성 |
GET | 리소스 조회 |
PUT | 리소스 수정 |
DELETE | 리소스 삭제 |
http://restapi.example.com/houses/apartments
URI에 포함되는 모든 글자들은 리소스의 유일한 식별자로 사용
⇒ URI가 다르다는 것 = 리소스가 다르다는 것
⇒ 리소스가 다르다면 URI도 달라져야 한다
분명한 URI를 만들어 통신에 혼동을 주지 않도록 URI 경로의 마지막에는 슬래시를 사용하지 않는다
http://restapi.example.com/houses/apartments/ (X)
http://restapi/example.com/members/soccer/345/photo.jpg (X)
GET /members/soccer/345/photo HTTP/1.1 Host:[restapi.example.com](http://restapi.example.com) Accept: image/jpg (O)
/리소스명/{리소스ID}/관계있는 다른 리소스명
의 형식GET : /users/{userid}/devices (일반적으로 소유(has)관계 표현할 때)
상태코드 | |
---|---|
200 | 정상 수행 |
201 | 리소스 생성 요청시 성공적으로 리소스 생성(POST) |
상태코드 | |
---|---|
400 | 클라이언트의 요청이 부적절한 경우 |
401 | 클라이언트가 인증되지 않은 상태에서 보호된 리소스를 요청했을 때 (로그인하지 않은 유저가 로그인한 경우에만 요청 가능한 리소스를 요청했을 시) |
403 | 유저 인증상태와 관계없이 응답하고 싶지 않은 리소스를 클라이언트가 요청했을 때 (403보다는 400이나 404 사용 권장. 403 자체가 리소스가 존재한다는 뜻이므로) |
405 | 클라이언트가 요청한 리소스에서는 사용불가능한 메소드를 이용했을 경우 |
상태코드 | |
---|---|
301 | 클라이언트가 요청한 리소스에 대한 URI가 변경되었을 경우(응답 시 Location header에 변경된 URI를 적어줘야 함) |
500 | 서버에 문제가 있을 경우 |