【发布时间】:2015-06-09 13:37:57
【问题描述】:
我了解,对于部分更新,必须采取非幂等的操作。为此,一种有效的方法是对该资源发出 POST 请求。
我有一个关于相关资源的问题。例如想象以下资源及其属性:
帐户
身份证
名称
帐号#
用户(一个集合)用户
身份证
姓名
现在假设我想对帐户进行部分更新 - 例如,更改帐户的名称。
我可以提出以下请求作为有效的部分更新:
POST /account/id/123
{
"name" : "My New Name"
}
我的问题是关于一个完整的 PUT 请求,它必须是幂等的并且必须包含资源的完整表示。
我可以将以下作为有效的幂等请求吗?
PUT /account/id/123
{
"name" : "My New Name",
"accountNumber" : "654-345-4323"
}
这是否被认为是有效的幂等操作?我已经包含了所有顶级“帐户”信息,但我质疑它,因为我没有发布属于该帐户的所有 USERS。
为了成为有效的幂等请求,我是否需要在 PUT 请求中也包含它的所有子资源?
【问题讨论】:
标签: rest put idempotent