关于RESTful PUT的原子性需要的意见

the*_*dry 7 rest http

我和我的同事正在实施一些RESTful HTTP服务,我们正在努力确保我们a)遵循规范,并且b)在规范缺乏细节的情况下做"正确"的事情.

以下是我们遇到的特殊情况,并正在寻求社群的意见:

假设您有一个资源/ People/Bob,您的客户端将使用PUT更新它.服务器可以在application/json和text/html中为/ People/Bob生成表示.服务器可以在application/json中解释/ People/Bob的表示.

鉴于此要求:

PUT /People/Bob
Content-Type: application/json
Accept: application/xml

{ name: "Still Bob" }

服务器无法生成XML表示,但它可以处理传入的JSON.所以我们知道正确的答案是服务器返回状态406.

问题是:服务器是否应该对/ People/Bob执行更新?

yfe*_*lum 2

休息哲学+1。

如果没有详细了解 HTTP 规范,我只会选择其中一个选项并记录困境和选择。

我的偏好是服务器无法按请求响应,那么它根本不应该处理任何请求。

但这在某些情况下可能不起作用,因此您可能必须做相反的事情。