Restful API规范

定义

restful ,全称为Representational State Transfer,翻译为中文叫做资源状态转换(表征性状态转移)。
Restful风格是一种专门为Web开发而定义API接口的设计风格,尤其适用于前后端分离的应用模式中。

  • 把服务端的所有的数据或文件都堪称资源,那么通过api接口请求数据的操作,本质上来说就是对资源的操作了。因此,restful中要求,我们把当前对外提供哪种资源进行操作,就把资源的名称写在url地址
  • web开发中操作资源,最常见的最通用的无非就是增删改查,所以restful要求在地址栏中声明要操作的资源是什么,然后通过http请求动词来说明对该资源进行哪一种操作。
// 添加学生数据
POST: http://www.zihoo.com/api/students
// 获取所有学生数据
GET:http://www.zihoo.com/api/students
// 删除id=pk的学生数据
DELETE:http://www.zihoo.com/api/students/<pk>/
// 修改id=pk的学生的全部信息
PUT:http://www.zihoo.com/api/students/<pk>/
// 修改id=pk的学生的部分信息
PATCH:http://www.zihoo.com/api/students/<pk>/

也就是说,我们仅需要通过url地址上的资源名称结合HTTP请求动作,就可以说明当前api接口的功能是什么了。
restful是以资源为主的api接口规范,体现在地址上就是资源,以名词来表达。

幂等性

接口实现过程中,会存在幂等性。所谓幂等性是指代客户端发起多次同样请求时,是否对于服务端里面的资源产生不同结果。如果多次请求,服务端结果一样,则属于幂等接口;如果多次请求,服务端产生结果不一样,则属于非幂等接口

请求方式 是否幂等 是否安全
GET 幂等 安全
POST 不幂等 不安全
PUT/PATCH 幂等 不安全
DELETE 幂等 不安全
对于不安全的接口,需要添加验证;对于非幂等的接口,需要添加询问控制。
posted @ 2023-01-03 17:38  Gazikel  阅读(95)  评论(0编辑  收藏  举报