我有一个服务,需要处理一个项目列表。
每个项目在后端都有一个项目,当所有项目完成后,服务返回一个包含原始项目列表的文档,但每行都有成功或失败状态。
示例:
PUT - 身体:
[
{"item" : 1},
{"item" : 2},
{"item" : 3}
]
响应 - 身体:
[
{"item" : 1, "state" : "OK"},
{"item" : 2, "state" : "OK"},
{"item" : 3, "state" : "FAILED"}
]
现在的问题是: 如果其中一个项目失败,我应该使用哪些返回代码? 我似乎无法找到任何正确匹配的http状态代码,这是一个失败,但它再次不是,但最重要的;)?
答案 0 :(得分:0)
从HTTP的角度来看,它是成功的 - 我会返回200 - 请求已成功接收并处理。
然后由应用程序检查是否一切正常。
但是,为了让生活更轻松,我可能会在响应中添加错误字段?
答案 1 :(得分:0)
更好的想法是使用207多状态响应,但要在POST中发送数据。
对于上传/更新大量项目的事情,这种情况很多。在多状态响应中,您可以对应每个操作和特定响应,如下所示:
<response>
<item id="1">
<status>200 OK</status>
</item>
<item id="2">
<status>403 Forbidden</status>
</item>
</response>