2017-07-14 7 views
0

重要ではないサーバーエラーが発生した場合、私のAPIにはどのHTTPステータスコードが返されますか?重要でないサーバーエラーのHTTPステータスコード

たとえば、SomeMethodが呼び出されますが、NULLが渡されるか、データベースにアクセスしようとしたときに何らかのエラーが発生して失敗します。

私は約コードを考えたが、サーバーがすべてが正しい場合にのみ、すべてで SomeMethodながら、作品を動作しないときには使われています。

もちろん、応答本体にはエラーとその説明が含まれています。

+0

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html – xenteros

+0

@xenteros私はそれらをすべて読んだので、選択する必要がありますか? –

+0

エラーが重大ではないと言っているときは、エラーを正常に処理できることを意味しますか? – Catalyst

答えて

1

「非クリティカルエラー」のための特定のHTTPコードがないので、私は自分の意見を伝えるだけです。つまり、200を使用して例外のような応答を出力します。

内部エラーを正常に処理できるため、クライアントにリクエストが失敗した理由を説明する例外をスローします(「なぜ」は「内部データベースエラー」のようなものになる可能性があります)。 。

+0

さて、クライアントの期待はどうですか、** 200 **はいつも良いですか?それとも単なる文書の問題ですか? –

+0

@YuriyN。、私はAPIを開発する私の職場からの例を挙げることができます。このようなエラーが発生した場合は例外がスローされ、200で送信されます。 :) – Catalyst

+0

エラーの特別なリストを返す以外の方法は正しいとは思われません。 –

1

クライアントからの誤った入力(「間違ったデータ型」など)によってこれらの「重大でないエラー」が発生した場合は、クライアントエラーステータスコード400(不正リクエスト)を使用する必要があります。

400(不正な要求)ステータスコードは、サーバーが原因 クライアントエラーであることを認識されているものに、要求を処理しませんではないか できることを示しています。ここ

standardからその説明です(例えば、不正なリクエスト構文、無効なリクエスト メッセージフレーミング、または不正なリクエストルーティング)。

+0

誤入力によるものではなく、間違った入力はすでに** 400 **で処理されています。 –

関連する問題