文章目录
- 一、Restful的10条规范
- 1、数据的安全保证
- 2、接口特征表现,一看就知道是api接口
- 3、多数据版本共存
- 4、数据即是资源, 均使用名词
- 5、资源操作由请求方式决定(method)
- 6、过滤, 通过在url上传参的形式传递搜索条件
- 7、响应状态码
- 8、错误处理,应返回错误信息, error当作key
- 9、返回结果, 针对不同操作, 服务器向用户返回的结果应该符合一下规范
- 10、也可以返回链接
一、Restful的10条规范
1、数据的安全保证
- 数据的安全保证:url链接一般采用的是https协议进行传输的, 注:采用https协议, 可以提高数据交互过程的安全性
2、接口特征表现,一看就知道是api接口
- 用api关键字标识接口url
- https://api.baidu.com
- https://www.baidu.com/api
- 看到api字眼, 就代表该请求url链接是完成前后台数据交互的
3、多数据版本共存
- 在url连接中标识数据版本
- https://api.baidu.com/v1
- https://api.baidu.com/v2
- v1\v2 就是不同数据版本的体现
4、数据即是资源, 均使用名词
- 接口一般都是完成前后台数据交互的, 交互的数据我们称之为资源
- https://api.baidu.com/book
- https://api.baidu.com/books
- https://api.baidu.com/users
- 错误示范:
- https://api.baidu.com/delete-user
5、资源操作由请求方式决定(method)
- 操作资源一般都涉及到增删改查, 我们提供请求方式来标识增删改查动作
- get: 获取数据
- post: 提交数据
- put: 提交数据
- patch: 局部修改数据
- delete: 删除数据
6、过滤, 通过在url上传参的形式传递搜索条件
- https://api.baidu.com/zoos?limit=10 # 指定返回数据的数量
- …?offset=10 # 指定返回数据的开始的位置
- …?page=2&per_page=100 # 指定第几页,以及每页的记录数
- …?sortby=name&order=asc # 指定返回结果按照哪个属性排序, 以及排序顺序
- …?animal_type_id=1: 指定筛选条件
7、响应状态码
- 2xx: 正常响应
- 200: 常规请求
- 201: 创建成功
- 3xx: 重定向响应
- 301: 永久重定向
- 302:暂时重定向
- 4xx:
- 403: 请求无权限
- 404: 请求路径不存在
- 405: 请求方法不存在
- 5xx:
- 500: 服务器异常
8、错误处理,应返回错误信息, error当作key
{
error: “无权限操作”
}
9、返回结果, 针对不同操作, 服务器向用户返回的结果应该符合一下规范
- get: 返回单个资源对象
- post:返回新生成的资源对象
- put: 返回完整的资源对象
- patch:返回完整的资源对象
- delete: 返回一个空文档
10、也可以返回链接
{
‘url’: " https://image.baidu.com/kkk/001.png",
}