パッケージ 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)
メソッドの詳細
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()
のバリアント。これは、検証エラーからのメッセージコードなどに役立ちます。getTitleMessageCode
MessageSource
を介して、この例外の問題「詳細」を解決するために使用するコードを返します。デフォルトでは、これは
getDefaultDetailMessageCode(Class, String)
によって初期化されます。updateAndGetBody
- パラメーター:
messageSource
- ルックアップに使用するMessageSource
locale
- ルックアップに使用するLocale
getDefaultDetailMessageCode
指定された例外型の「詳細」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型suffix
- オプションのサフィックス。異なる引数を持つ複数のエラーメッセージが表示される可能性がある例外の場合。- 戻り値:
"problemDetail."
の後に完全なclass name
が続く
getDefaultTitleMessageCode
指定された例外型の「タイトル」フィールドのメッセージコードを作成します。- パラメーター:
exceptionType
- 問題に関連する例外型- 戻り値:
"problemDetail.title."
の後に完全なclass name
が続く
create
builder(Throwable, HttpStatusCode, String)
を介してインスタンスを構築する静的ファクトリメソッド。builder
ErrorResponse
インスタンスを作成するビルダーを返します。- パラメーター:
ex
- エラーレスポンスにつながる根本的な例外。主にdetail message code
とtitle message code
のデフォルト値を導き出すためです。statusCode
- レスポンスを設定するステータスコードdetail
-getDetailMessageCode()
を使用したMessageSource
ルックアップによってオーバーライドされない限り、detail
フィールドのデフォルト値