5

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

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

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

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

4

2 回答 2

4

PUT 和 GET 应该使用全部资源。

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

restful 动词列表: https ://restful-api-design.readthedocs.org/en/latest/methods.html

于 2013-10-30T10:50:30.910 回答
0

是的,PUT应该提供资源的全新表示。所以应该在服务器上删除IdFoo

如果你只是想更新 BarPOST {"Bar": "newBarValue"}那就去吧。

在 REST 中,这只是一个约定。

于 2013-10-30T10:34:52.763 回答