我和我的同事正在实施一些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执行更新?