アノテーションインターフェース ResponseStatus
返されるステータス
code() および reason() でメソッドまたは例外クラスをマークします。 ステータスコードは、ハンドラーメソッドが呼び出されたときに HTTP レスポンスに適用されますが、ResponseEntity や "redirect:" などの他の手段で設定されたステータス情報をオーバーライドすることはありません。
警告 : このアノテーションを例外クラスで使用する場合、またはこのアノテーションの reason 属性を設定する場合は、HttpServletResponse.sendError メソッドが使用されます。
HttpServletResponse.sendError を使用すると、レスポンスは完全であると見なされ、これ以上書き込む必要はありません。さらに、サーブレットコンテナーは通常 HTML エラーページを書き込むため、reason の使用は REST API には不適切です。このような場合は、ResponseEntity を戻り値の型として使用し、@ResponseStatus を完全に使用しないことをお勧めします。
コントローラークラスに @ResponseStatus アノテーションを付けることもできます。このアノテーションは、メソッドのローカル @ResponseStatus 宣言によってオーバーライドされない限り、そのクラスとそのサブクラスのすべての @RequestMapping および @ExceptionHandler メソッドによって継承されます。
- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Sam Brannen
- 関連事項:
オプション要素の概要
オプション要素
要素の詳細
value
code()のエイリアス。- デフォルト:
- INTERNAL_SERVER_ERROR
code
レスポンスに使用するステータスコード。デフォルトは
HttpStatus.INTERNAL_SERVER_ERRORで、通常はより適切なものに変更する必要があります。- デフォルト:
- INTERNAL_SERVER_ERROR
reason
StringSE reasonレスポンスに使用される理由。デフォルトは空の文字列で、無視されます。理由を空でない値に設定して、レスポンスに使用します。
- デフォルト:
- ""