什么是 RESTful API 的幂等性

什么接口幂等性?

幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同。

RESTFul API 中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的。

比如,RESTFul API 中的 GET 方法是查询资源,不会对资源产生影响,所以它是符合幂等性的;

再比如,RESTful API 中的 DELETE 方法是查询数据,每次都应该返回 status=204。

接口符合幂等性有什么用处?

接口的幂等性确保了无论调用1次还是N次对资源的影响都是相同的,这在某些场合下是非常有用的。

举例:一个订单,多次执行支付接口,只应该付一次钱。

HTTP方法的幂等性与安全性

RESTful 设计本质上使用的是HTTP协议方法,因此,RESTful API 的幂等性指的就是HTTP方法的幂等性。

除了幂等性之外,HTTP方法的安全性是指不对资源产生修改。

从上述表格中可以看出,HTTP方法的幂等性和安全性并不是同一个概念。

像 RESTful API 只是一种设计风格一样,幂等性接口。也是仅仅一种有价值的设计风格而已,无需执着。

https://javascript.net.cn/articles/939

收藏
HTTP 协议入门
上一篇
跟 Github 学习设计不符合 CRUD 情况的 RESTful API
下一篇

发表评论

注册不是必须的

文章列表
JSON Web Token 入门教程
HTTP 协议入门
当后端响应的 HTTP 状态一律 200
RESTful API 执行 delete 返回204无法获取 Body