2011-02-16 52 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