【发布时间】:2021-02-25 05:58:09
【问题描述】:
所以基于这个Defining Idempotence,我很清楚幂等性意味着什么
但我也听到很多人将这种行为描述为重复数据删除。这是一个等价的术语吗?
例如,如果一个 API 是幂等的,同一个请求被处理 N 次将获得与一次相同的状态。我可以说 API 正在对请求进行重复数据删除吗?
【问题讨论】:
标签: api rest web terminology
所以基于这个Defining Idempotence,我很清楚幂等性意味着什么
但我也听到很多人将这种行为描述为重复数据删除。这是一个等价的术语吗?
例如,如果一个 API 是幂等的,同一个请求被处理 N 次将获得与一次相同的状态。我可以说 API 正在对请求进行重复数据删除吗?
【问题讨论】:
标签: api rest web terminology
这两个术语并不等价,尽管对于不熟悉幂等性的人来说,最初基于它与重复数据删除的相似性来考虑它可能会有所帮助。
作为一个对比示例,考虑一个银行账户的 API,它接受一个正数或负数来调整账户余额(存款或取款)。显然,这个 API 不是幂等的,因为连续的事务具有累积效应。
另一方面,我们当然希望对这些事务进行重复数据删除。如果交易 #123 被(错误地)提交了两次,它应该只适用于账户余额一次。在这种情况下,应该对事务进行重复数据删除因为API 不是幂等的。
重复数据删除是一项活动:要执行的操作。幂等性是一个属性:一个要描述的属性。当去重的结果与幂等性的效果相同时,两者存在相似性;也就是说,状态没有变化。但是等价的结果并不意味着这两个词是等价的。
【讨论】: