クラス AbstractErrorWebExceptionHandler
java.lang.ObjectSE
org.springframework.boot.autoconfigure.web.reactive.error.AbstractErrorWebExceptionHandler
- 実装されたすべてのインターフェース:
InitializingBean
、ErrorWebExceptionHandler
、WebExceptionHandler
- 既知の直属サブクラス
DefaultErrorWebExceptionHandler
public abstract class AbstractErrorWebExceptionHandler
extends ObjectSE
implements ErrorWebExceptionHandler, InitializingBean
ErrorWebExceptionHandler
実装の抽象基本クラス。- 導入:
- 2.0.0
- 作成者:
- Brian Clozel, Scott Frederick, Moritz Halbritter
- 関連事項:
コンストラクターのサマリー
コンストラクターコンストラクター説明AbstractErrorWebExceptionHandler
(ErrorAttributes errorAttributes, WebProperties.Resources resources, ApplicationContext applicationContext) 新しいAbstractErrorWebExceptionHandler
を作成します。方法の概要
修飾子と型メソッド説明void
protected ThrowableSE
getError
(ServerRequest request) 現在のリクエストから元のエラーを抽出します。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
isPathEnabled
(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
を構成します。
コンストラクターの詳細
AbstractErrorWebExceptionHandler
public AbstractErrorWebExceptionHandler(ErrorAttributes errorAttributes, WebProperties.Resources resources, ApplicationContext applicationContext) 新しいAbstractErrorWebExceptionHandler
を作成します。- パラメーター:
errorAttributes
- エラー属性resources
- リソース構成プロパティapplicationContext
- アプリケーションコンテキスト- 導入:
- 2.4.0
メソッドの詳細
setMessageWriters
HTTP メッセージライターを構成して、レスポンス本文を直列化します。- パラメーター:
messageWriters
- 使用するHttpMessageWriter
setMessageReaders
HTTP メッセージリーダーを構成して、リクエスト本文を逆直列化します。- パラメーター:
messageReaders
- 使用するHttpMessageReader
setViewResolvers
ビューのレンダリングに使用するようにViewResolver
を構成します。- パラメーター:
viewResolvers
- 使用するViewResolver
のリスト
getErrorAttributes
protected MapSE<StringSE,ObjectSE> getErrorAttributes(ServerRequest request, ErrorAttributeOptions options) 現在のリクエストからエラー属性を抽出し、エラービューまたは JSON ペイロードの入力に使用します。- パラメーター:
request
- ソースリクエストoptions
- エラー属性を制御するオプション- 戻り値:
- マップとしてのエラー属性
getError
現在のリクエストから元のエラーを抽出します。- パラメーター:
request
- ソースリクエスト- 戻り値:
- エラー
isTraceEnabled
指定されたリクエストにトレース属性が設定されているかどうかを確認します。- パラメーター:
request
- ソースリクエスト- 戻り値:
- エラートレースがリクエストされた場合は
true
、そうでない場合はfalse
isMessageEnabled
指定されたリクエストにメッセージ属性が設定されているかどうかを確認します。- パラメーター:
request
- ソースリクエスト- 戻り値:
- メッセージ属性がリクエストされている場合は
true
、それ以外の場合はfalse
isBindingErrorsEnabled
指定されたリクエストでエラー属性が設定されているかどうかを確認します。- パラメーター:
request
- ソースリクエスト- 戻り値:
- エラー属性がリクエストされている場合は
true
、それ以外の場合はfalse
isPathEnabled
指定されたリクエストにパス属性が設定されているかどうかを確認します。- パラメーター:
request
- ソースリクエスト- 戻り値:
- パス属性がリクエストされた場合は
true
、それ以外の場合はfalse
- 導入:
- 3.3.0
renderErrorView
protected reactor.core.publisher.Mono<ServerResponse> renderErrorView(StringSE viewName, ServerResponse.BodyBuilder responseBody, MapSE<StringSE, ObjectSE> error) 使用可能な場合はテンプレートビューを使用し、使用可能な場合は静的 HTML ファイルを使用して、指定されたエラーデータをビューとしてレンダリングします。上記のいずれも使用できない場合、空のPublisher
が返されます。- パラメーター:
viewName
- ビュー名responseBody
- 構築中のエラーレスポンスerror
- エラーデータをマップとして- 戻り値:
ServerResponse
の発行者
renderDefaultErrorView
protected reactor.core.publisher.Mono<ServerResponse> renderDefaultErrorView(ServerResponse.BodyBuilder responseBody, MapSE<StringSE, ObjectSE> error) デフォルトの HTML「ホワイトラベルエラーページ」をレンダリングします。アプリケーションで他のエラービューが利用できない場合に役立ちます。
- パラメーター:
responseBody
- 構築中のエラーレスポンスerror
- エラーデータをマップとして- 戻り値:
ServerResponse
の発行者
afterPropertiesSet
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- 例外:
ExceptionSE
getRoutingFunction
protected abstract RouterFunction<ServerResponse> getRoutingFunction(ErrorAttributes errorAttributes) JSON レスポンスまたは HTML ビューとしてエラーをルーティングおよび処理できるRouterFunction
を作成します。返された
RouterFunction
がHandlerFunction
にルーティングされない場合、元の例外はパイプラインに伝搬され、他のWebExceptionHandler
によって処理できます。- パラメーター:
errorAttributes
- エラー情報を抽出するために使用するErrorAttributes
インスタンス- 戻り値:
- エラーをルーティングして処理する
RouterFunction
handle
public reactor.core.publisher.Mono<VoidSE> handle(ServerWebExchange exchange, ThrowableSE throwable) - 次で指定:
- インターフェース
WebExceptionHandler
のhandle
logError
指定されたrequest
およびresponse
交換のthrowable
エラーをログに記録します。デフォルトの実装では、デバッグレベルですべてのエラーがログに記録されます。さらに、内部サーバーエラー (500) はエラーレベルで記録されます。- パラメーター:
request
- 処理されていたリクエストresponse
- 送信されていたレスポンスthrowable
- ログに記録されるエラー- 導入:
- 2.2.0