【发布时间】:2019-05-06 10:01:26
【问题描述】:
我在 Put 中实现幂等操作时遇到问题。
有Put 请求更新了一个REST API 资源中的一个字段。
但是要实现幂等性,每个重复的请求都应该导致对象的状态相同。
我们使用database 如果发生错误会发生什么。现在这是否意味着Idempotency 丢失了?如果没有
现在按照相同的定义进行 - 如果我们在一个字段的休息 API 中有条件状态更改。例如)状态字段。
如果逻辑是只有父属性字段locked==false才更新状态字段,我们可以抛出异常说'BusinessLogic异常不能更新状态'
所以理论上我们有两个操作我们有类似的情况:
- 一个可能是幂等的,如果不是因为现实生活中的错误是不可能的 避免
- 一个不应该是幂等的,但我们可以让它相似
问题:
如何为 put 实现基于错误处理的幂等性?如果错误处理正常,这是否意味着即使业务逻辑也可以成为幂等Put?
【问题讨论】:
标签: rest exception put idempotent