使方法具有幂等性

时间:2015-02-28 00:12:30

标签: web-services idempotent

假设我们在类AccountManager中有方法存款(整数)。此方法将修改accountTotal,因此不是幂等的。 你会如何使这种方法具有幂等性?

2 个答案:

答案 0 :(得分:0)

根据用户输入改变某些内容的方法(如您所做的那样)不能成为幂等的。这意味着,如果你拨打deposit(10)一百次,只会说它与调用一次有相同的效果,这没有任何意义。

答案 1 :(得分:0)

通过您计划更改的州的初始状态。您可以为每个修改提供唯一ID,并传递您正在进行更改的状态ID。由于在每次更改后id会增加(或以某种方式改变),因此后续的关于旧id的更改请求将不执行任何操作(因为该对象不会处于具有该id的状态)。把它想象成一个毯子"签入"在CMS中操作。无需更改的文件也不需要签入。在初次检查更改的文件后,随后的一揽子检查将无效。