我了解,对于部分更新,必须采取非幂等的操作。为此,一种有效的方法是对该资源发出 POST 请求。
我有一个关于相关资源的问题。例如,想象以下资源及其属性:
Accounts
Id
Name
Account #
用户(一个集合)用户
ID
名称
现在想象一下,我想对帐户进行部分更新 - 例如,更改帐户的名称。
我可以提出以下请求作为有效的部分更新:
POST /account/id/123
{
"name" : "My New Name"
}
我的问题是关于一个完整的 PUT 请求,它必须是幂等的,并且必须包含资源的完整表示。
我可以将以下作为有效的幂等请求吗?
PUT /account/id/123
{
"name" : "My New Name",
"accountNumber" : "654-345-4323"
}
这被认为是一个有效的、幂等的动作吗?我已经包含了所有顶级“帐户”信息,但我质疑它,因为我没有发布所有USERS
属于该帐户的信息。
为了成为有效的幂等请求,我是否需要在 PUT 请求中也包含它的所有子资源?