1. ホーム
  2. http

[解決済み] [Solved] リクエストに必須パラメータがない場合、どのようなHTTPステータスレスポンスコードを使用すればよいですか?

2022-03-24 01:42:19

質問

412 (Precondition Failed) を考えていますが、もっと良い規格があるかもしれませんね?

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

ステータス 422 が最も適切であると思われます。 スペック .

ステータスコード422(Unprocessable Entity)は、サーバーが は、リクエストされたエンティティのコンテンツタイプを理解しています(したがって 415(Unsupported Media Type)のステータスコードは不適切である。 リクエストエンティティの構文は正しい(したがって400 (Bad Request) ステータスコードは不適切です)しかし、含まれる処理を行うことができませんでした。 の命令を実行します。 例えば、このエラー状態は、XML リクエストボディは、整形式(すなわち構文的に正しい)でありながら 意味的に誤ったXML命令である。

彼らは、不正なxmlは悪い構文の例であると述べています(400を呼び出す)。不正なクエリ文字列はこれに類似していると思われるので、パラメータを欠いた整形式のクエリ文字列に対して400は適切ではないように思われます。

アップデイト この仕様はWebDAVのためのものであり、コアHTTPのためのものではないことを@DavidVは正しく指摘しています。しかし、人気のある非 WebDAV API の中には、より良いステータス コードがないため、とりあえず 422 を使用しているものもあります ( これを見て ).