RESTful Web Services - Best practices
■ Consumer first
개발자 중심의 설계보다는 해당 API를 사용하는 사용자 중심으로
간단명료하고 직관적인 형태로 설계되어야함
■ Make best use of HTTP
HTTP Method, Request-Response Type, Header 값 등과 같이 HTTP의 장점을 최대한 살려 설계해야함
■ Request methods
각 리소스별로 적절한 HTTP Method를 제공해야함
- GET
- POST
- PUT
- DELETE
■ Response Status
각 API 요청에 따른 적절한 HTTP Status code를 반환 시켜줘야함
- 200
- 404
- 400
- 201
- 401
■ No secure info in URI
개발자가 제공하는 URI에 사용자 비밀번호와 같은 critical한 데이터를 포함해서는 안됨
■ Use plurals
제공하려는 모든 데이터의 타입을 plural(복수형)으로 표시
특정한 리소스를 지칭하고 싶을 때에는 다음 deps에 url로 표시
- prefer /users to /user
- prefer /users/1 to /user/1
■ User nouns for resources
resouces에 대한 정보는 동사 형태보다는 명사 형태로 (사용자 입장에서 더욱 직관적)
■ For exceptions
일관된 접근 Enter Point 사용
- define a consistent approach
/search
PUT /gists/{id}/star
DELETE/gists/{id}/star