2017-06-20 12 views
0

私のAPIでは、構文/型の検証に失敗するDSLスクリプトが含まれているオブジェクトを処理していますが、構文解析の失敗に関わらずオブジェクトを保持し、失敗したメッセージと共に保存したオブジェクトを返送します。しかし、この状態を特徴付ける正しいHTTPステータスコードを選択するのに問題があります。"保存されているがエラーがある"と伝えるのに最高のHTTPステータスコードは何ですか?

私StackOverflowの調査から

  • HTTP 400は、リクエストが不正な形式ではなかったと処理される可能性があるため、不正確なようです。
  • HTTP 202と思われますが、実際には非同期処理は起こっていません。
  • HTTP 422は、他のSOのポストでは人気がありますが、実際にはそれが使われているのを見たことはありません。

HTTP 200は、このシナリオではまだ実際には「失敗した」ため送信していますか?ここで使用するより適切なHTTPコードがありますか?

+0

'422'は、デフォルトではLaravelで使用される、と私は他のフレームワークのさまざまな疑わしい - 使用方法の多くは野生で確かにあります。 '207マルチステータス'が適切かもしれません。 – ceejayoz

答えて

1

すべての4xxステータスは、サーバーが何もしなかったことを意味し、状態は変更されませんでした。したがって、2xxコードが最も適切です。

あなたは警告ヘッダーを使用することができます。

+0

簡単なルールのように思えます。ありがとう! – Mark

関連する問題