私たちは、Webクライアントとモバイルクライアントが使用するWebサービス/ REST APIレイヤーの作成を検討しています。
ソリューションをより堅牢にするために、PUT、POST、およびPATCHからのコマンドをメッセージキューに配置することを検討しました。これは、コマンドが非同期で実行されることを意味します。
コマンドが非同期で実行されることを示すRESTful APIからの標準のHTTP応答はありますか?
編集する
実際、誰かがWebサービスレイヤーの背後にメッセージキューを置くことがどれほど賢明であるかについて考えているなら、私はそれらを聞いて興味があります。
successfultaskを作成して、成功したことをすべて実行します。つまり、応答コードの2xx
ブロックを調べる必要があります。
このブロックでは、正解としてすぐに飛び出します。
202承認済み
リクエストは処理のために受け入れられましたが、処理は完了していません。処理が実際に行われるときに許可されない可能性があるため、要求は最終的に処理される場合と処理されない場合があります。
また、リソース(タスク)が作成された状況の201
応答を確認することもできます。
201作成
リクエストが満たされ、新しいリソースが作成されました。
ただし、これは相互作用の非同期性を意味するものではなく、どこかに存在することを意味します。
メッセージの処理中に発生する可能性のあるエラーを報告する機会を逃します。これにより、サービスの利用者は、呼び出しが成功したかどうかを確認できなくなります。
200 OKを使用
提案する設定は、サービス指向アーキテクチャー(SOA)と共通です。非同期メッセージングを使用する場合、通常は次のようなフローになります。
--> Request
<-- Delivery acknowledgement
<-- Process acknowledgement
--> Delivery acknowledgement
配信確認の成功には200 Okを使用するのが一般的です。これはオンラインで広く文書化されていると思いますが、参照をすばやく確認しただけでは見つかりませんでした。
プロセス確認は、逆方向の別個のHTTPトランザクションであり、これにより、処理中のエラーを報告できます。