REST API 제대로 알고 사용하기 : NHN Cloud Meetup
REST는 Representational State Transfer라는 용어의 약자. 웹의 장점을 살릴수 있는 아키텍처
GET /members/delete/1 => 제대로 적용 안됨 GET과 DELETE가 혼용
DELETE /members/1
POST | URI를 요청하면 리소스를 생성 |
---|---|
GET | 리소스를 조회, 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져옴 |
PUT | 리소스 수정 |
DELETE | 리소스 삭제 |
http://restapi.example.com/animals/mammals/whales
http://restapi.example.com/animals/insects/bees/ (x)
http://restapi.example.com/members/soccer/345/photo.jpg (X)
/리소스명/리소스 ID/관계가 있는 다른 리소스명
GET : /users/{userid}/devices
http:// restapi.example.com/sports/soccer
sports라는 컬렉션과 soccor라는 도큐먼트로 표현
http:// restapi.example.com/sports/soccer/players/13
sports, players 컬렉션과 soccer, 13을 의미하는 도큐먼트
일반적으로 컬렉션은 복수형, 도큐먼트는 단수형으로 표현한다.
200 | 클라이언트의 요청을 정상적으로 수행 |
---|---|
201 | 클라이언트가 어떠한 리소스를 생성을 요청, 해당 리소스가 성공적으로 생성됨 (POST를 통한 리소스 생성 작업시) |
400 | 클라이언트의 요청이 부적절 할 경 |
401 | 클라이언트가 인증되지 않은 상태에서 보호된 리소스를 요청했을 때 |
(로그인 하지 않았을 때) | |
403 | 유저 인증상태와 관계 없이 응답하고 싶지 않은 리소스를 클라이언트가 요청했을 때 |
405 | 클라이언트가 요청한 리소스에서는 사용 불가능한 메소드를 이용했을 경우 |
301 | 클라이언트가 요청한 리소스에 대한 URI가 변경 되었을 때 사용하는 응답코드 |
500 | 서버에 문제가 있을 경우 |