所以“幂等性”可以定义为:
一个动作,如果执行 N 次,则与只执行一次该动作具有相同的效果。
明白了,够简单的。
我的问题是关于这个定义的微妙之处——一个动作本身是否被认为是幂等的,或者你是否还必须考虑传递给动作的数据?
让我用一个例子来澄清:
假设我有一个更新某些资源的 PUT 方法,我们将调用它f(x)
显然,f(3)
是幂等的,只要我提供 3 作为输入。同样明显的是,f(5)
将改变资源的值(即,它将不再是 3 或以前的任何值)
所以当我们谈论幂等性时,我们是指像(即,f(x)
)这样的动作/函数的泛化,还是指的是动作/函数+传递给它的数据(即,f(3)
)?