Web services 返回205“;“重置内容”;对于RESTful部分更新?

Web services 返回205“;“重置内容”;对于RESTful部分更新?,web-services,http,rest,Web Services,Http,Rest,205-Reset Content是否是在对资源应用了部分更新且更新后的资源文档未在响应中返回时要返回的适当响应代码 更新: 我正在创建一个web服务,它将支持对资源URL的部分更新。一个选项是返回200以及更新的资源文档。另一种选择似乎是返回205-Reset内容,而不返回包含更新表示的主体,该更新表示指示客户端应该启动对资源的GET。这似乎与返回201 w/a Location header和没有创建资源的body是一致的(这就是我目前为创建资源所做的).没有理由不简单地使用状态代码200。

205-Reset Content是否是在对资源应用了部分更新且更新后的资源文档未在响应中返回时要返回的适当响应代码

更新:
我正在创建一个web服务,它将支持对资源URL的部分更新。一个选项是返回200以及更新的资源文档。另一种选择似乎是返回205-Reset内容,而不返回包含更新表示的主体,该更新表示指示客户端应该启动对资源的GET。这似乎与返回201 w/a Location header和没有创建资源的body是一致的(这就是我目前为创建资源所做的).

没有理由不简单地使用状态代码200。

我仍然无法发现您的问题解释了您试图解决的问题,但以下是我的猜测和答案:

问:您希望调用者可以通过发送PUT/myResource来更新资源,但出于某种原因,您不希望整个资源都被更新,只是在某种程度上(?)

A1:我还没有听说部分更新是一种模式。您可能需要考虑将资源分割成许多较小的资源。这可能会使开发和API用户更容易理解

A2:201您在评论中提到的(“已创建”)不应使用,因为您正在进行更新

A3:205(“重置内容”)听起来并不是完全错误的,因为您希望客户端使其数据无效,但问题仍然是-为什么?此外,如果服务器上只更新了客户端数据的一部分,则不希望客户端删除整个表示


A4:如果PUT后客户端表示变得无效,我认为返回303(“请参阅其他”)并将位置头设置为数据的URI是正确的方法,即使URI没有更改。

您能给我们提供更多信息吗?您是在尝试决定在何处实现此功能,还是在调试某些东西?你说的部分更新是什么意思?如果操作成功,通常最好坚持200响应,因为每个浏览器处理返回代码的方式都不同……哎哟,投了反对票。我认为这是一个简短但合理的问题,在我关于RESTfulWeb服务的书中,或者在长达10分钟的web搜索中都没有提到。我把问题扩大了。也许你会考虑取消投票?谢谢。205会更好吗,因为客户端不需要带外知识来更新资源?“服务器已完成请求,用户代理应重置导致发送请求的文档视图。此响应主要用于允许通过用户输入进行操作的输入,然后清除输入的形式,以便用户可以轻松启动另一个输入操作。“--这与部分更新有什么关系?您可能需要阅读