RESTful 的简单特点,除了请求方式可以不必拘泥,其它的都挺好
良好实践
- URI 中使用名词代替动词表示资源
- 使用复数名词
- 小写,多个单词使用
-分割
必须了解
- GET:幂等,不应更改资源的数据/状态
- POST:非幂等,创建或更新资源
- PUT:幂等,多次调用服务资源处于同一状态,替换 URI 标识的资源
- DELETE:幂等,多次调用服务资源处于同一状态,删除 URI 标识的资源
- PATCH:非幂等,部分更新 URI 标识的资源
- OPTIONS:检索 URI 标识的资源的可用通信选项
- HEAD: header 元数据,但不包含有关 URI 标识的资源的响应正文
版本控制
- URI 版本控制:/api/v1/users、/api/v2/users
- header 版本控制:Accept:app-production-v+json
了解常见的 HTTP 状态码
- 2xx:请求成功响应
- 200:请求成功
- 201:创建新资源成功 CREATED,其 URI 位于 Location 标头中
- 204:请求成功,响应没有正文,NO CONTENT
- 3xx:重定向响应
- 304:响应尚未修改,客户端可以继续使用其缓存版本 NOT MODIFIED
- 4xx:客户端错误响应
- 404:请求的 URI 没有资源,NOT FOUND
- 400:服务器无法处理请求,BAD REQUEST
- 401:未经验证,客户端必须进行身份验证后才能访问 URI 表示的资源,UNATHORIZED
- 403:客户端没有访问 URI 表示的资源的权限,FORBIDDEN
- 405:服务器不支持请求的方法,METHOD NOT ALLOWED
- 5xx:服务端错误响应
- 500: 服务器现在不知道如何处理或如何恢复的错误,INTERNAL SERVER ERROR
常见的身份验证方案
- Basic
- Digest
- Bearer (Token-based)
- OAuth 2.0
- JWT
- Mutual
- Form-based

说些什么吧!