1. ホーム
  2. rest

[解決済み] 外部依存のエラーのためのHTTPステータス424または500

2023-07-27 04:51:09

質問

2つの依存関係を持つサービスを作成しようとしています。依存関係のうちの1つは内部で管理され、2つ目はサードパーティAPIへの外部httpアウトバウンドコールを必要とします。順序は、リソースを更新してからhttpアウトバウンドコールを実行することを必要とします。

そこで私の質問は、2番目のステップで失敗した場合、返すべき正しいhttpステータスコードは何でしょうか?

応答は、発生したエラーを説明するメッセージ本文とともに、424または500であるべきでしょうか?

  • 424: Method Failure - メソッドの実行の一部が失敗し、メソッド全体が中断されたため、そのスコープ内の特定のリソースでメソッドが実行されなかったことを示します。
  • 500: 内部サーバー エラー。

どのように解決するのですか?

ご質問の障害は、サービス自体の内部で発生したものですので、5xxステータスコード範囲が正しい選択となります。503 Service Unavailable は、あなたが説明した状況には完璧に見えます。

5xx コードは、リクエストが正常であったにもかかわらず、サーバーがリクエストを満たすために何らかの問題が発生したことをクライアントに伝えるためのものです。一方、4xx コードは、クライアントに何か間違ったことをした (そして、サーバーは正常である、ありがとう) ことを伝えるために使用されます。 HTTP 1.1 仕様書の 10.4 節と 10.5 節 では、4xx と 5xx コードの異なる目的について説明しています。

ステータスコード 424 は WebDAV 標準 で定義されており、クライアントが実行していることを変更する必要がある場合のためのものです - サーバーはここでは何の問題も経験していません。