@TargetSE(valueSE=METHODSE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface ExceptionHandler
このアノテーションが付けられたハンドラーメソッドは、非常に柔軟な署名を持つことができます。次の型のパラメーターを任意の順序で持つことができます。
value() を介して例外型を絞り込まない場合のマッピングヒントとしても機能します。ServletRequestEE/HttpServletRequestEE。HttpSessionEE。この型の引数は、対応するセッションの存在を強制します。結果として引数は決して null になりません。 特にサーブレット環境では、セッションアクセスはスレッドセーフではない可能性があることに注意してください。複数のリクエストがセッションに同時にアクセスできる場合、"synchronizeOnSession" フラグを "true" に切り替えることを検討してください。WebRequest または NativeWebRequest ネイティブサーブレット API に関係なく、汎用のリクエストパラメーターアクセスとリクエスト / セッション属性アクセスを許可します。LocaleSE(利用可能な最も具体的なロケールリゾルバー、つまり、サーブレット環境で構成された LocaleResolver によって決定されます)。InputStreamSE/ReaderSE。これは、サーブレット API によって公開される生の InputStream/ リーダーになります。OutputStreamSE/WriterSE。これは、サーブレット API によって公開された生の OutputStream/Writer になります。Model。例外固有のビュー用にモデルを準備するのに便利なように、提供されたモデルには通常のモデル属性が事前に設定されておらず、常に空であることに注意してください。ハンドラーメソッドでは、次の戻り値の型がサポートされています。
ModelAndView オブジェクト(サーブレット MVC から)。RequestToViewNameTranslator を介して暗黙的に決定されたビュー名を持つ Model オブジェクト。MapSE オブジェクト。ビュー名は RequestToViewNameTranslator を介して暗黙的に決定されます。View オブジェクト。StringSE 値。@ResponseBody アノテーション付きメソッド (サーブレットのみ) は、レスポンスコンテンツを設定します。戻り値は、メッセージコンバーターを使用してレスポンスストリームに変換されます。HttpEntity<?> または ResponseEntity<?> オブジェクト (サーブレットのみ)。ResponseEntity 本文は、メッセージコンバーターを使用して変換され、レスポンスストリームに書き込まれます。void メソッドがレスポンス自体を処理する場合(レスポンスコンテンツを直接記述し、その目的のために ServletResponseEE/HttpServletResponseEE 型の引数を宣言することにより)、またはビュー名が RequestToViewNameTranslator によって暗黙的に決定されることになっている場合(レスポンス引数を宣言しない場合)ハンドラーメソッドシグネチャー)。 サーブレット環境では、ExceptionHandler アノテーションを @ResponseStatus と組み合わせて、HTTP レスポンスのレスポンスステータスを定義できます。
WebRequest| 修飾子と型 | オプションの要素と説明 |
|---|---|
ClassSE<? extends ThrowableSE>[] | value アノテーション付きメソッドによって処理される例外。 |
public abstract ClassSE<? extends ThrowableSE>[] value