为什么需要幂等性
在设计rest api的时候,调用方由于逻辑问题或者网络问题,超时导致的retry都可能对rest接口进行多次调用,所以rest api设计的时候注意幂等性。
哪些是幂等操作
安全:不改变资源的representation
幂等:多次调用不会产生副作用
如何实现
如果是put操作,本身就是幂等的。如果是post操作,不具有幂等性,可以根据唯一标示判断是否进行过post操作,post一般都是创建一个资源,如果已经存在,则返回成功即可。
在设计rest api的时候,调用方由于逻辑问题或者网络问题,超时导致的retry都可能对rest接口进行多次调用,所以rest api设计的时候注意幂等性。
安全:不改变资源的representation
幂等:多次调用不会产生副作用
如果是put操作,本身就是幂等的。如果是post操作,不具有幂等性,可以根据唯一标示判断是否进行过post操作,post一般都是创建一个资源,如果已经存在,则返回成功即可。