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