400 BAD request HTTPエラーコードの意味は?
私はHTTP URLに投稿するJSONリクエストを持っています。
これは、requestedResource
フィールドは存在するが、"Roman"
がこのフィールドの無効な値である場合、400
として扱うべきでしょうか?
[{requestedResource:"Roman"}]
"blah"
フィールドが全く存在しない場合、これは400
として扱うべきですか?
[{blah:"Roman"}]
332
3
400は、リクエストが不正な形式であったことを意味します。つまり、クライアントがサーバーに送信したデータストリームがルールに従っていなかったということです。
JSONのペイロードを持つREST APIの場合、400'は一般的に、そして正しく言うと、サービスのAPI仕様に従ってJSONが何らかの形で無効であることを示すために使用されます。
その論理からすると、あなたが提示したシナリオはどちらも400'sになるはずです。
これがJSONではなく、XMLであった場合を想像してみてください。どちらのケースでも、XMLはスキーマの検証を通過しないでしょう。これは悪いリクエストになります。ここでも同じことが言えます。
w3.orgより
期待を込めて
クライアントアプリケーションとしては、サーバー側で何か問題が発生したことを知ることを期待しています。サーバが
blah
が見つからないときやrequestedResource
の値が正しくないときにエラーを出す必要があるならば、400エラーが適切でしょう。