クラス DefaultErrorWebExceptionHandler
java.lang.ObjectSE
org.springframework.boot.webflux.autoconfigure.error.AbstractErrorWebExceptionHandler
org.springframework.boot.webflux.autoconfigure.error.DefaultErrorWebExceptionHandler
- 実装されているすべてのインターフェース:
InitializingBean, ErrorWebExceptionHandler, WebExceptionHandler
基本的なグローバル
WebExceptionHandler、レンダリング ErrorAttributes。 より具体的なエラーは、Spring WebFlux 抽象化(たとえば、@ExceptionHandler とアノテーションモデル)を使用するか、RouterFunction をチェーンに追加することによって処理できます。
この実装は、クライアントがそのメディア型を明示的にサポートしている場合、エラーを HTML ビューとしてレンダリングします。よく知られている規則を使用してエラービューを解決しようとします。status code と status series を使用して、'/error' でテンプレートと静的アセットを検索します。
例: HTTP 404 は(特定の順序で)検索します:
'/<templates>/error/404.<ext>''/<static>/error/404.html''/<templates>/error/4xx.<ext>''/<static>/error/4xx.html''/<templates>/error/error''/<static>/error/error.html'
何も見つからない場合、デフォルトの「ホワイトラベルエラー」HTML ビューがレンダリングされます。
クライアントが HTML をサポートしていない場合、エラー情報は JSON ペイロードとしてレンダリングされます。
- 導入:
- 4.0.0
- 作成者:
- Brian Clozel, Scott Frederick, Moritz Halbritter
コンストラクターの概要
コンストラクターコンストラクター説明DefaultErrorWebExceptionHandler(ErrorAttributes errorAttributes, WebProperties.Resources resources, ErrorProperties errorProperties, ApplicationContext applicationContext) 新しいDefaultErrorWebExceptionHandlerインスタンスを作成します。方法の概要
修飾子と型メソッド説明protected RequestPredicate現在のリクエストが"text/html"メディア型を明示的にサポートしているかどうかをチェックする述語。protected ErrorAttributeOptionsgetErrorAttributeOptions(ServerRequest request, MediaType mediaType) protected intgetHttpStatus(MapSE<StringSE, @Nullable ObjectSE> errorAttributes) エラーマップから HTTP エラーステータス情報を取得します。protected RouterFunction<ServerResponse> getRoutingFunction(ErrorAttributes errorAttributes) JSON レスポンスまたは HTML ビューとしてエラーをルーティングおよび処理できるRouterFunctionを作成します。protected booleanisIncludeBindingErrors(ServerRequest request, MediaType produces) エラー属性を含めるかどうかを決定します。protected booleanisIncludeMessage(ServerRequest request, MediaType produces) メッセージ属性を含めるかどうかを決定します。protected booleanisIncludePath(ServerRequest request, MediaType produces) パス属性を含めるかどうかを決定します。protected booleanisIncludeStackTrace(ServerRequest request, MediaType produces) stacktrace 属性を含めるかどうかを決定します。protected reactor.core.publisher.Mono<ServerResponse> renderErrorResponse(ServerRequest request) エラー情報を JSON ペイロードとしてレンダリングします。protected reactor.core.publisher.Mono<ServerResponse> renderErrorView(ServerRequest request) エラー情報を HTML ビューとしてレンダリングします。
コンストラクターの詳細
DefaultErrorWebExceptionHandler
public DefaultErrorWebExceptionHandler(ErrorAttributes errorAttributes, WebProperties.Resources resources, ErrorProperties errorProperties, ApplicationContext applicationContext) 新しいDefaultErrorWebExceptionHandlerインスタンスを作成します。- パラメーター:
errorAttributes- エラー属性resources- リソース構成プロパティerrorProperties- エラー構成プロパティapplicationContext- 現在のアプリケーションコンテキスト
メソッドの詳細
getRoutingFunction
クラスからコピーされた説明:AbstractErrorWebExceptionHandlerJSON レスポンスまたは HTML ビューとしてエラーをルーティングおよび処理できるRouterFunctionを作成します。返された
RouterFunctionがHandlerFunctionにルーティングされない場合、元の例外はパイプラインに伝搬され、他のWebExceptionHandlerによって処理できます。- 次で指定:
- クラス
AbstractErrorWebExceptionHandlerのgetRoutingFunction - パラメーター:
errorAttributes- エラー情報を抽出するために使用するErrorAttributesインスタンス- 戻り値:
- エラーをルーティングして処理する
RouterFunction
renderErrorView
エラー情報を HTML ビューとしてレンダリングします。- パラメーター:
request- 現在のリクエスト- 戻り値:
- HTTP レスポンスの
Publisher
renderErrorResponse
エラー情報を JSON ペイロードとしてレンダリングします。- パラメーター:
request- 現在のリクエスト- 戻り値:
- HTTP レスポンスの
Publisher
getErrorAttributeOptions
protected ErrorAttributeOptions getErrorAttributeOptions(ServerRequest request, MediaType mediaType) isIncludeStackTrace
stacktrace 属性を含めるかどうかを決定します。- パラメーター:
request- ソースリクエストproduces- 作成されたメディア型 (またはMediaType.ALL)- 戻り値:
- stacktrace 属性を含める必要がある場合
isIncludeMessage
メッセージ属性を含めるかどうかを決定します。- パラメーター:
request- ソースリクエストproduces- 作成されたメディア型 (またはMediaType.ALL)- 戻り値:
- メッセージ属性を含める必要がある場合
isIncludeBindingErrors
エラー属性を含めるかどうかを決定します。- パラメーター:
request- ソースリクエストproduces- 作成されたメディア型 (またはMediaType.ALL)- 戻り値:
- エラー属性を含める必要がある場合
isIncludePath
パス属性を含めるかどうかを決定します。- パラメーター:
request- ソースリクエストproduces- 作成されたメディア型 (またはMediaType.ALL)- 戻り値:
- パス属性を含めるかどうか
getHttpStatus
acceptsTextHtml
現在のリクエストが"text/html"メディア型を明示的にサポートしているかどうかをチェックする述語。「全一致」メディア型はここでは考慮されません。
- 戻り値:
- リクエストの述語