一括処理タスクを実行するAPIがあります。あるリソースの命名を行うとしましょう。
7つのリクエストをまとめて渡しましたが、そのうち5つは正常に更新され、2つは失敗しました。
私の質問は、応答をどのように処理するかです。 HTTPでは、成功とエラーの両方を同時に返すことはできません。
部分的に成功したHTTPコードがありますが、すべてのリソースの個別の応答を一度に返す必要があります。とにかくそれができることはありますか?
Httpステータスには207 MULTI-STATUSを使用できます。マルチステータス応答は、複数のステータスコードが適切である可能性がある状況で、複数のリソースに関する情報を伝達します。
デフォルトのマルチステータス応答本文は、「multistatus」ルート要素を持つHTTPエンティティです。その他の要素には、メソッドの呼び出し中に生成された200、300、400、および500シリーズのステータスコードが含まれます。
応答の本文内に応答オブジェクトの配列を含めることができ、それらのオブジェクトには独自のステータスコードが含まれる場合があります
例
HTTP 207
{
"data": [
{
"messgage": "success",
"resource": {
"foo": "bar",
"id": "1d1"
},
"status": 200
},
{
"messgage": "Requested resource or subresource not found ",
"resource": null,
"status": 404
},
{
"messgage": "success",
"resource": {
"foo": "bars",
"id": "1d2"
},
"status": 200
}
],
"metadata": {
"failure": 1,
"success": 2,
"total": 3
}
}