在基于 JSON 的 REST API 上,PUT 最常见的预期行为是什么?文档替换或部分更新)?

What's the most common expected behavior for a PUT on a JSON based REST API? A document replacement or a partial update)?

我知道有一个完整的 HTTP 方法的 RFC,但我想知道 预期的行为 来自 PUT 到以 Content-type: application/json 响应并接受 JSON 编码主体的 REST API。

欢迎任何评论或资源供我阅读

在实践中,只要您在整个应用程序中坚持使用这些方法中的任何一种都可以,从而保持一致性。如果我想根据ID更新一条记录的所有属性,我个人喜欢使用PUT。通过这种方式,我可以为需要指定和更新某些属性的端点保存 PATCH 方法,例如典型的更改密码请求,我只需要更新特定属性。

我真的很推荐这本书:http://www.amazon.com/REST-API-Design-Handbook-ebook/dp/B00890OBFI/ref=sr_1_2?s=books&ie=UTF8&qid=1425669926&sr=1-2&keywords=rest+api

1) 和 2) PUT 表示替换。将其用于部分替换是不正确的。这就是 PATCH 的用途。

3) 这取决于您的应用程序逻辑。