“幂等性”可以被定义为:
一种操作,如果执行N次,其效果与仅执行一次相同。
明白了,很简单。
我的问题是关于这个定义的微妙之处 - 一个操作本身是否被认为是幂等的,还是必须考虑传递到操作中的数据?
让我举个例子来澄清:
假设我有一个PUT方法来更新某些资源,我们称之为f(x)
显然,只要我提供3作为输入,f(3)
就是幂等的。同样明显的是,f(5)
会更改资源的值(即,它不再是3或先前存在的任何值)
因此,当我们谈论幂等性时,我们是在引用操作/函数的泛化(即,f(x)
),还是在引用操作/函数+传递给它的数据(即,f(3)
)?