パッケージ org.springframework.web
インターフェース ErrorResponse
- すべての既知の実装クラス:
AsyncRequestTimeoutException
、ErrorResponseException
、HandlerMethodValidationException
、HttpMediaTypeException
、HttpMediaTypeNotAcceptableException
、HttpMediaTypeNotSupportedException
、HttpRequestMethodNotSupportedException
、MaxUploadSizeExceededException
、MethodArgumentNotValidException
、MethodNotAllowedException
、MissingMatrixVariableException
、MissingPathVariableException
、MissingRequestCookieException
、MissingRequestHeaderException
、MissingRequestValueException
、MissingRequestValueException
、MissingServletRequestParameterException
、MissingServletRequestPartException
、NoHandlerFoundException
、NoResourceFoundException
、NoResourceFoundException
、NotAcceptableStatusException
、ResponseStatusException
、ServerErrorException
、ServerWebInputException
、ServletRequestBindingException
、UnsatisfiedRequestParameterException
、UnsatisfiedServletRequestParameterException
、UnsupportedMediaTypeStatusException
、WebExchangeBindException
public interface ErrorResponse
ステータス、ヘッダー、RFC 9457 形式の
ProblemDetail
本文を含む完全な RFC 9457 エラーレスポンスの表現。例外によって HTTP エラーレスポンス情報を公開できます。ErrorResponseException
は、このインターフェースのデフォルト実装であり、他の例外を使用するための便利な基本クラスです。
ErrorResponse
は、レスポンスに直接レンダリングする @ExceptionHandler
メソッドからの戻り値としてサポートされています。@ResponseBody
とマークされるか、@RestController
または RestControllerAdvice
クラスで宣言されます。
- 導入:
- 6.0
- 作成者:
- Rossen Stoyanchev
- 関連事項:
ネストされたクラスのサマリー
メソッドのサマリー
修飾子と型メソッド説明static ErrorResponse.Builder
builder
(ThrowableSE ex, HttpStatusCode statusCode, StringSE detail) ErrorResponse
インスタンスを作成するビルダーを返します。static ErrorResponse.Builder
builder
(ThrowableSE ex, ProblemDetail problemDetail) カスタムProblemDetail
インスタンスで使用するbuilder(Throwable, HttpStatusCode, String)
のバリアント。static ErrorResponse
create
(ThrowableSE ex, HttpStatusCode statusCode, StringSE detail) builder(Throwable, HttpStatusCode, String)
を介してインスタンスを構築する静的ファクトリメソッド。getBody()
レスポンスの本文を返します。これは、status
がレスポンスステータスと一致する RFC 9457ProblemDetail
としてフォーマットされます。static StringSE
getDefaultDetailMessageCode
(ClassSE<?> exceptionType, StringSE suffix) 指定された例外型の「詳細」フィールドのメッセージコードを作成します。static StringSE
getDefaultTitleMessageCode
(ClassSE<?> exceptionType) 指定された例外型の「タイトル」フィールドのメッセージコードを作成します。static StringSE
getDefaultTypeMessageCode
(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 StringSE
MessageSource
を通じて、この例外の問題の「型」を解決するために使用するコードを返します。default ProblemDetail
updateAndGetBody
(MessageSource messageSource, LocaleSE locale)
メソッドの詳細
getStatusCode
HttpStatusCode getStatusCode()レスポンスに使用する HTTP ステータスコードを返します。getHeaders
レスポンスに使用するヘッダーを返します。getBody
ProblemDetail getBody()レスポンスの本文を返します。これは、status
がレスポンスステータスと一致する RFC 9457ProblemDetail
としてフォーマットされます。注意 : 返された
ProblemDetail
は、レスポンスがレンダリングされる前に、たとえばupdateAndGetBody(MessageSource, Locale)
を介して更新される可能性があります。実装メソッドではインスタンスフィールドを使用する必要があり、呼び出しごとにProblemDetail
を再作成したり、静的変数を使用したりしないでください。getTypeMessageCode
MessageSource
を通じて、この例外の問題の「型」を解決するために使用するコードを返します。MessageSource
を通じて解決された型はURI.create(String)
SE に渡されるため、エンコードされた URI 文字列である必要があります。デフォルトでは、これは
getDefaultTypeMessageCode(Class)
によって初期化されます。- 導入:
- 6.1
getTitleMessageCode
MessageSource
を介して、この例外の問題「タイトル」を解決するために使用するコードを返します。デフォルトでは、これは
getDefaultTitleMessageCode(Class)
によって初期化されます。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
updateAndGetBody
- パラメーター:
messageSource
- ルックアップに使用するMessageSource
locale
- ルックアップに使用するLocale
getDefaultTypeMessageCode
指定された例外型の「型」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型- 戻り値:
"problemDetail.type."
の後に完全に修飾されたclass name
が続く- 導入:
- 6.1
getDefaultTitleMessageCode
指定された例外型の「タイトル」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型- 戻り値:
"problemDetail.title."
の後に完全に修飾されたclass name
が続く
getDefaultDetailMessageCode
指定された例外型の「詳細」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型suffix
- オプションのサフィックス。引数が異なる複数のエラーメッセージが表示される可能性がある例外の場合- 戻り値:
"problemDetail."
の後に完全修飾class name
とオプションのサフィックスが続く
create
builder(Throwable, HttpStatusCode, String)
を介してインスタンスを構築する静的ファクトリメソッド。builder
ErrorResponse
インスタンスを作成するビルダーを返します。- パラメーター:
ex
- エラーレスポンスにつながる根本的な例外。主に、詳細メッセージコードとタイトルメッセージコードのデフォルト値を導出します。statusCode
- レスポンスに設定するステータスコードdetail
-getDetailMessageCode()
を使用したMessageSource
ルックアップによってオーバーライドされない限り、detail
フィールドのデフォルト値
builder
カスタムProblemDetail
インスタンスで使用するbuilder(Throwable, HttpStatusCode, String)
のバリアント。- 導入:
- 6.1