Bob*_*way 2 http http-status-codes odata
我们目前正在努力达到OData标准:
http://www.odata.org/developers/protocols/operations
根据此标准,如果对数据执行PUT操作,则应返回204状态代码.标准说:
当处理PUT请求服务器返回状态204(无内容)以指示成功时,不需要响应主体.
现在,根据其他人在其他地方读到的内容,有些地方声称,如果你要返回204,你绝对不应该回复一个反应机构 - 这不是一个是否需要的问题.
问题是我们需要返回一个身体.在这种情况下,我们正在对一批项目执行更新查询,并且部分成功(即一些更新,一些不更新)是可能的.我们想告诉客户失败是什么,而响应机构是我能想到的唯一方法.
那么这样做的"正确"方法是什么呢?我应该甩掉W3C并返回一具尸体吗?或者我应该诋毁OData并返回不同的响应代码?还是有其他可能吗?
对PUT的204响应不是OData服务器的强制要求(注意odata.org不是规范性参考,MS-OData文档是).您可以使用body返回200,在这种情况下,您返回的正文应该是更新实体的序列化(在服务器应用更新之后).事实上,在OData V3中,我们现在支持Prefer标题,它正是这样做的.客户端可以包括带有PUT请求的Prefer头,并要求服务器响应200和更新的实体.
我认为你不能返回内容,应该考虑返回一个标题来指示部分完成的命令.
规范说明
204响应绝不能包含消息体,因此总是在头字段之后的第一个空行终止.
您可能还希望采用批处理方法,http://www.odata.org/developers/protocols/batch
| 归档时间: |
|
| 查看次数: |
4701 次 |
| 最近记录: |