1.什么是幂等性
幂等性概念:幂等通俗来说是指不管进行多少次重复操作,都是实现相同的结果。
值得注意,幂等性指的是作用的结果而非资源本身。例如,一个HTTP GET接口获取当前时间,它本身不会对资源本身产生影响,因此满足幂等性。
2.put幂等性的理解
post与put作为http协议的请求方式,区别在于去提交资源时是否会影响资源的数量(种类)。而post方式的标注的接口通常表示该接口会照成资源数量(种类)新增,而put方式的请求则不会照成资源数量(种类)新增。
对Restful API 风格的接口而言,我的理解是put作为一种标记告诉前端该接口是用来更新资源,而且是幂等的。如果需要告诉前端接口的执行结果是否幂等,则需判断资源受接口的影响程度,然后对接口的响应内容修改,如响应201状态码等,通知前端接口该执行接口执行结果是否幂等。
3.总结
根据一个接口的请求方式,不能判断请求的幂等性,而通常所说的post不幂等put幂等指的是HTTP标准设计该请求方式的思想,也就是说幂等的接口的请求方式通常设计为put,而不冥等的接口通常将请求方式设为post.
以上观点是自己不成熟的一些看法,不当之处请大家批评指正。