2011-02-16 81 views
0

我有一个需要处理的项目列表的服务。部分成功/错误的http代码

每个项目都在后台处理一个,当所有项目完成时,服务返回一个包含项目原始列表的文档,但在每一行上都有成功或失败状态。

例如:

PUT - 身体:

[ 
    {"item" : 1}, 
    {"item" : 2}, 
    {"item" : 3} 
] 

效应初探 - 身体:

[ 
    {"item" : 1, "state" : "OK"}, 
    {"item" : 2, "state" : "OK"}, 
    {"item" : 3, "state" : "FAILED"} 
] 

现在的问题是: 我应该使用,如果一个项目有哪些返回码失败了吗? 我似乎无法找到任何正确匹配的http状态代码,这是一个失败,但它不是,但最后;)?

回答

0

从HTTP的角度来看,这是成功的 - 我会返回200 - 请求被成功接收和处理。

然后由应用程序来检查它是否都可以。

但是,为了使生活更轻松,我可能会在响应中添加一个错误字段?

0

一个更好的主意是使用207多状态响应,但要在POST中发送数据。

这发生了很多事情,上传/更新很多项目。在多状态响应,你可以对应每个动作和具体的回应,就像这样:

<response> 
    <item id="1"> 
    <status>200 OK</status> 
    </item> 
    <item id="2"> 
    <status>403 Forbidden</status> 
    </item> 
</response> 
+0

我的例子使用XML,你想要什么,虽然这可能不是。 – Kylar 2011-02-16 19:24:47