HTTP PUT应该如何工作

时间:2013-10-30 10:32:25

标签: http rest put

例如,URI上有资源:/api/items/123

GET请求的响应正文为{"Id": "123", "Foo": "foo", "Bar": "bar"}

我发送PUT请求。它的主体是{"Bar": "newBarValue"}

如果是此请求正文,是否应删除 Id Foo 属性?或者只是修改 Bar 属性?或者服务器应该返回错误代码?

2 个答案:

答案 0 :(得分:4)

PUT和GET应该使用完整的资源。

如果您只想更新资源(并且只发送Bar),那么您也可以使用PATCH http动词。

一些宁静的动词: https://restful-api-design.readthedocs.org/en/latest/methods.html

答案 1 :(得分:0)

是的,PUT应该提供资源的完整新表示。因此,应在服务器上删除IdFoo

如果您只想更新 BarPOST {"Bar": "newBarValue"}就可以了。

通常在REST中,这只是一种惯例。