パッケージ org.springframework.web
インターフェース ErrorResponse
- すべての既知の実装クラス:
AsyncRequestTimeoutException
、ErrorResponseException
、HttpMediaTypeException
、HttpMediaTypeNotAcceptableException
、HttpMediaTypeNotSupportedException
、HttpRequestMethodNotSupportedException
、MethodArgumentNotValidException
、MethodNotAllowedException
、MissingMatrixVariableException
、MissingPathVariableException
、MissingRequestCookieException
、MissingRequestHeaderException
、MissingRequestValueException
、MissingRequestValueException
、MissingServletRequestParameterException
、MissingServletRequestPartException
、NoHandlerFoundException
、NotAcceptableStatusException
、ResponseStatusException
、ServerErrorException
、ServerWebInputException
、ServletRequestBindingException
、UnsatisfiedRequestParameterException
、UnsatisfiedServletRequestParameterException
、UnsupportedMediaTypeStatusException
、WebExchangeBindException
public interface ErrorResponse
ステータス、ヘッダー、RFC 7807 フォーマットの
ProblemDetail
本文を含む完全な RFC 7807 エラーレスポンスの表現。例外が HTTP エラーレスポンス情報を公開できるようにします。ErrorResponseException
は、このインターフェースのデフォルト実装であり、他の例外を使用するための便利な基本クラスです。
ErrorResponse
は、レスポンスに直接レンダリングする @ExceptionHandler
メソッドからの戻り値としてサポートされています。@ResponseBody
とマークされるか、@RestController
または RestControllerAdvice
クラスで宣言されます。
- 導入:
- 6.0
- 作成者:
- Rossen Stoyanchev
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラスメソッドのサマリー
修飾子と型メソッド説明static ErrorResponse.Builder
builder
(ThrowableSE ex, HttpStatusCode statusCode, StringSE detail) ErrorResponse
インスタンスを作成するビルダーを返します。static ErrorResponse
create
(ThrowableSE ex, HttpStatusCode statusCode, StringSE detail) builder(Throwable, HttpStatusCode, String)
を介してインスタンスを構築する静的ファクトリメソッド。getBody()
レスポンスの本文を返します。RFC 7807ProblemDetail
としてフォーマットされ、status
はレスポンスステータスと一致する必要があります。static StringSE
getDefaultDetailMessageCode
(ClassSE<?> exceptionType, StringSE suffix) 指定された例外型の「詳細」フィールドのメッセージコードを作成します。static StringSE
getDefaultTitleMessageCode
(ClassSE<?> exceptionType) 指定された例外型の「タイトル」フィールドのメッセージコードを作成します。default ObjectSE[]
MessageSource
を介してこの例外の問題の「詳細」を解決するためにmessage code
と共に使用する引数を返します。default ObjectSE[]
getDetailMessageArguments
(MessageSource messageSource, LocaleSE locale) メッセージ引数値を解決するために指定されたMessageSource
を使用するgetDetailMessageArguments()
のバリアント。default StringSE
MessageSource
を介して、この例外の問題「詳細」を解決するために使用するコードを返します。default HttpHeaders
レスポンスに使用するヘッダーを返します。レスポンスに使用する HTTP ステータスコードを返します。default StringSE
MessageSource
を介して、この例外の問題「タイトル」を解決するために使用するコードを返します。default ProblemDetail
updateAndGetBody
(MessageSource messageSource, LocaleSE locale) 指定されたMessageSource
を介してdetailMessageCode
およびtitleMessageCode
を解決し、見つかった場合は、それぞれ「詳細」フィールドと「タイトル」フィールドを更新します。
メソッドの詳細
getStatusCode
HttpStatusCode getStatusCode()レスポンスに使用する HTTP ステータスコードを返します。getHeaders
レスポンスに使用するヘッダーを返します。getBody
ProblemDetail getBody()レスポンスの本文を返します。RFC 7807ProblemDetail
としてフォーマットされ、status
はレスポンスステータスと一致する必要があります。getDetailMessageCode
MessageSource
を介して、この例外の問題「詳細」を解決するために使用するコードを返します。デフォルトでは、これは
getDefaultDetailMessageCode(Class, String)
によって初期化されます。getDetailMessageArguments
MessageSource
を介してこの例外の問題の「詳細」を解決するためにmessage code
と共に使用する引数を返します。引数は、メッセージ値のプレースホルダーに展開されます。「無効なコンテンツ型 {0}」です。getDetailMessageArguments
@Nullable default ObjectSE[] getDetailMessageArguments(MessageSource messageSource, LocaleSE locale) メッセージ引数値を解決するために指定されたMessageSource
を使用するgetDetailMessageArguments()
のバリアント。これは、検証エラーからメッセージコードを展開する場合などに役立ちます。
デフォルトの実装は、指定された
MessageSource
およびLocale
を無視して、getDetailMessageArguments()
に委譲します。- パラメーター:
messageSource
- ルックアップに使用するMessageSource
locale
- ルックアップに使用するLocale
getTitleMessageCode
MessageSource
を介して、この例外の問題「タイトル」を解決するために使用するコードを返します。デフォルトでは、これは
#getDefaultTitleMessageCode(Class, String)
によって初期化されます。updateAndGetBody
指定されたMessageSource
を介してdetailMessageCode
およびtitleMessageCode
を解決し、見つかった場合は、それぞれ「詳細」フィールドと「タイトル」フィールドを更新します。- パラメーター:
messageSource
- ルックアップに使用するMessageSource
locale
- ルックアップに使用するLocale
getDefaultDetailMessageCode
指定された例外型の「詳細」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型suffix
- オプションのサフィックス。引数が異なる複数のエラーメッセージが表示される可能性がある例外の場合- 戻り値:
"problemDetail."
の後に完全修飾class name
とオプションのサフィックスが続く
getDefaultTitleMessageCode
指定された例外型の「タイトル」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型- 戻り値:
"problemDetail.title."
の後に完全に修飾されたclass name
が続く
create
builder(Throwable, HttpStatusCode, String)
を介してインスタンスを構築する静的ファクトリメソッド。builder
ErrorResponse
インスタンスを作成するビルダーを返します。- パラメーター:
ex
- エラーレスポンスにつながる根本的な例外。主に、詳細メッセージコードとタイトルメッセージコードのデフォルト値を導出します。statusCode
- レスポンスに設定するステータスコードdetail
-getDetailMessageCode()
を使用したMessageSource
ルックアップによってオーバーライドされない限り、detail
フィールドのデフォルト値