当前位置: 首页>数据库>正文

restful接口中url一定不能带有动词吗 restful url规范


文章目录

  • 一、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",
}



https://www.xamrdz.com/database/6zr1944561.html

相关文章: