前言
REST风格的API(Application Programme Interface)接口设计
RESTful只是一种规范建议,开发中应以实际规范为准
请求路径
请求类型
- 根据不同的操作选用不同的请求方式
- RESTful请求通过
请求类型+请求路径
的方式操作资源
请求类型
GET
:SELECT操作,从服务器中查询单个或多个资源
POST
:INSERT操作,向服务器中新增单个资源
PUT
:REPLACE操作,从服务器中修改单个资源,覆盖所有属性
PATCH
:UPDATE操作,从服务器中修改单个资源,修改部分属性
DELETE
:DELETE操作,从服务器中删除单个资源
HEAD
:从服务器中获取单个资源的元数据(如:Hash值、最后修改时间)
OPTIONS
:从服务器中获取针对于单个资源的所有可执行操作
获取一个用户信息
1
| GET http://localhost/users/{id}
|
查询一个组的所有用户信息
1
| GET http://localhost/group/{group_id}/users
|
获取所有用户信息
1
| GET http://localhost/users
|
新增一个用户信息
1
| POST http://localhost/users
|
修改一个用户的全部信息
1
| PUT http://localhost/users/{id}
|
修改一个用户的部分信息
1
| PATCH http://localhost/users/{id}
|
删除一个用户信息
1
| DELETE http://localhost/users/{id}
|
响应数据
- 查询资源
- 查询单个资源:返回查询到的资源对象
- 查询多个资源:返回查询到的资源对象数组
- 新增资源:返回新增后的资源对象
- 修改资源:返回修改后的资源对象
- 删除资源:返回空
响应状态码
响应状态码
20x
200
:服务器成功完成操作
201
:新增或修改操作成功
202
:服务器已将操作异步的放到队列中
204
:删除操作成功
40x
400
:服务器没有完成操作
401
:客户端无权限(如:密码错误、令牌错误),所以服务器没有完成操作
403
:客户端无授权(如:客户端的操作是禁止的),所以服务器没有完成操作
404
:客户端访问的路径不存在,所以服务器没有完成操作
406
:客户端请求时的参数格式有误
50x
500
:服务器内部错误
资源的表现形式
Accept期望接收的数据类型
1
| Accept: application/json
|
Content-Type实际发送的数据类型
1
| Content-Type: application/json
|
Content-Type实际发送的数据类型
1
| Content-Type: application/json
|
完成
参考文献
哔哩哔哩——浪飞yes