public abstract class AbstractErrorWebExceptionHandler extends ObjectSE implements ErrorWebExceptionHandler, InitializingBean
ErrorWebExceptionHandler
実装の抽象基本クラス。ErrorAttributes
コンストラクターと説明 |
---|
AbstractErrorWebExceptionHandler(ErrorAttributes errorAttributes, WebProperties.Resources resources, ApplicationContext applicationContext) 新しい AbstractErrorWebExceptionHandler を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() |
protected ThrowableSE | getError(ServerRequest request) 現在のリクエストから元のエラーを抽出します。 |
protected MapSE<StringSE, ObjectSE> | getErrorAttributes(ServerRequest request, boolean includeStackTrace) 使用すべきではありません。 2.3.0 以降、2.5.0 で削除され getErrorAttributes(ServerRequest, ErrorAttributeOptions) を推奨 |
protected MapSE<StringSE, ObjectSE> | getErrorAttributes(ServerRequest request, ErrorAttributeOptions options) 現在のリクエストからエラー属性を抽出し、エラービューまたは JSON ペイロードの入力に使用します。 |
protected abstract RouterFunction<ServerResponse> | getRoutingFunction(ErrorAttributes errorAttributes) JSON レスポンスまたは HTML ビューとしてエラーをルーティングおよび処理できる RouterFunction を作成します。 |
reactor.core.publisher.Mono<VoidSE> | handle(ServerWebExchange exchange, ThrowableSE throwable) |
protected boolean | isBindingErrorsEnabled(ServerRequest request) 指定されたリクエストでエラー属性が設定されているかどうかを確認します。 |
protected boolean | isMessageEnabled(ServerRequest request) 指定されたリクエストにメッセージ属性が設定されているかどうかを確認します。 |
protected boolean | isTraceEnabled(ServerRequest request) 指定されたリクエストにトレース属性が設定されているかどうかを確認します。 |
protected void | logError(ServerRequest request, ServerResponse response, ThrowableSE throwable) 指定された request および response 交換の throwable エラーをログに記録します。 |
protected reactor.core.publisher.Mono<ServerResponse> | renderDefaultErrorView(ServerResponse.BodyBuilder responseBody, MapSE<StringSE, ObjectSE> error) デフォルトの HTML「ホワイトラベルエラーページ」をレンダリングします。 |
protected reactor.core.publisher.Mono<ServerResponse> | renderErrorView(StringSE viewName, ServerResponse.BodyBuilder responseBody, MapSE<StringSE, ObjectSE> error) 使用可能な場合はテンプレートビューを使用し、使用可能な場合は静的 HTML ファイルを使用して、指定されたエラーデータをビューとしてレンダリングします。 |
void | setMessageReaders(ListSE<HttpMessageReader<?>> messageReaders) HTTP メッセージリーダーを構成して、リクエスト本文を逆直列化します。 |
void | setMessageWriters(ListSE<HttpMessageWriter<?>> messageWriters) HTTP メッセージライターを構成して、レスポンス本文を直列化します。 |
void | setViewResolvers(ListSE<ViewResolver> viewResolvers) ビューのレンダリングに使用するように ViewResolver を構成します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public AbstractErrorWebExceptionHandler(ErrorAttributes errorAttributes, WebProperties.Resources resources, ApplicationContext applicationContext)
AbstractErrorWebExceptionHandler
を作成します。errorAttributes
- エラー属性 resources
- リソース構成プロパティ applicationContext
- アプリケーションコンテキスト public void setMessageWriters(ListSE<HttpMessageWriter<?>> messageWriters)
messageWriters
- 使用する HttpMessageWriter
public void setMessageReaders(ListSE<HttpMessageReader<?>> messageReaders)
messageReaders
- 使用する HttpMessageReader
public void setViewResolvers(ListSE<ViewResolver> viewResolvers)
ViewResolver
を構成します。viewResolvers
- 使用する ViewResolver
のリスト @DeprecatedSE protected MapSE<StringSE,ObjectSE> getErrorAttributes(ServerRequest request, boolean includeStackTrace)
getErrorAttributes(ServerRequest, ErrorAttributeOptions)
を推奨 request
- ソースリクエスト includeStackTrace
- エラースタックトレース情報を含めるかどうか protected MapSE<StringSE,ObjectSE> getErrorAttributes(ServerRequest request, ErrorAttributeOptions options)
request
- ソースリクエスト options
- エラー属性を制御するオプション protected ThrowableSE getError(ServerRequest request)
request
- ソースリクエスト protected boolean isTraceEnabled(ServerRequest request)
request
- ソースリクエスト true
、そうでない場合は false
protected boolean isMessageEnabled(ServerRequest request)
request
- ソースリクエスト true
、それ以外の場合は false
protected boolean isBindingErrorsEnabled(ServerRequest request)
request
- ソースリクエスト true
、それ以外の場合は false
protected reactor.core.publisher.Mono<ServerResponse> renderErrorView(StringSE viewName, ServerResponse.BodyBuilder responseBody, MapSE<StringSE,ObjectSE> error)
Publisher
が返されます。viewName
- ビュー名 responseBody
- 構築中のエラーレスポンス error
- エラーデータをマップとして ServerResponse
の発行者 protected reactor.core.publisher.Mono<ServerResponse> renderDefaultErrorView(ServerResponse.BodyBuilder responseBody, MapSE<StringSE,ObjectSE> error)
アプリケーションで他のエラービューが利用できない場合に役立ちます。
responseBody
- 構築中のエラーレスポンス error
- エラーデータをマップとして ServerResponse
の発行者 public void afterPropertiesSet() throws ExceptionSE
InitializingBean
の afterPropertiesSet
ExceptionSE
protected abstract RouterFunction<ServerResponse> getRoutingFunction(ErrorAttributes errorAttributes)
RouterFunction
を作成します。 返された RouterFunction
が HandlerFunction
にルーティングされない場合、元の例外はパイプラインに伝搬され、他の WebExceptionHandler
によって処理できます。
errorAttributes
- エラー情報を抽出するために使用する ErrorAttributes
インスタンス RouterFunction
public reactor.core.publisher.Mono<VoidSE> handle(ServerWebExchange exchange, ThrowableSE throwable)
WebExceptionHandler
の handle
protected void logError(ServerRequest request, ServerResponse response, ThrowableSE throwable)
request
および response
交換の throwable
エラーをログに記録します。デフォルトの実装では、デバッグレベルですべてのエラーがログに記録されます。さらに、内部サーバーエラー (500) はエラーレベルで記録されます。request
- 処理されていたリクエスト response
- 送信されていたレスポンス throwable
- ログに記録されるエラー