1. ホーム
  2. http

[解決済み] http 200 OK を返すが、レスポンスボディにエラーがある

2023-01-17 06:15:02

質問

を返すのは正しいのでしょうか? HTTP 200 OK を返すのが正しいかどうか疑問に思っています(エラーの詳細はレスポンスボディの中に含まれます)。

  1. 送信する HTTP GET
  2. サーバー側で予期せぬことが発生しました。
  3. サーバーが返した HTTP 200 OK ステータスコードにエラーを付加して返します。 {"status":"some error occurred"} )

これは正しい動作なのでしょうか、そうでないのでしょうか?ステータスコードを200以外のものに変更すべきでしょうか?

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

いいえ、それは非常に間違っているエラー本文で200を送信します。

HTTP はアプリケーションプロトコルです。200 は、応答が要求されたリソースの状態を表すペイロードを含んでいることを意味します。エラーメッセージは通常、そのリソースを表すものではありません。

GET処理中に何か問題が発生した場合、正しいステータスコードは4xx ("you messed up") または5xx ("I messed up") です。