パッケージ org.springframework.web

インターフェース ErrorResponse

すべての既知の実装クラス:
AsyncRequestTimeoutExceptionErrorResponseExceptionHandlerMethodValidationExceptionHttpMediaTypeExceptionHttpMediaTypeNotAcceptableExceptionHttpMediaTypeNotSupportedExceptionHttpRequestMethodNotSupportedExceptionMaxUploadSizeExceededExceptionMethodArgumentNotValidExceptionMethodNotAllowedExceptionMissingMatrixVariableExceptionMissingPathVariableExceptionMissingRequestCookieExceptionMissingRequestHeaderExceptionMissingRequestValueExceptionMissingRequestValueExceptionMissingServletRequestParameterExceptionMissingServletRequestPartExceptionNoHandlerFoundExceptionNoResourceFoundExceptionNoResourceFoundExceptionNotAcceptableStatusExceptionResponseStatusExceptionServerErrorExceptionServerWebInputExceptionServletRequestBindingExceptionUnsatisfiedRequestParameterExceptionUnsatisfiedServletRequestParameterExceptionUnsupportedMediaTypeStatusExceptionWebExchangeBindException

public interface ErrorResponse
ステータス、ヘッダー、RFC 9457 形式の ProblemDetail 本文を含む完全な RFC 9457 エラーレスポンスの表現。例外によって HTTP エラーレスポンス情報を公開できます。

ErrorResponseException は、このインターフェースのデフォルト実装であり、他の例外を使用するための便利な基本クラスです。

ErrorResponse は、レスポンスに直接レンダリングする @ExceptionHandler メソッドからの戻り値としてサポートされています。@ResponseBody とマークされるか、@RestController または RestControllerAdvice クラスで宣言されます。

導入:
6.0
作成者:
Rossen Stoyanchev
関連事項:
  • メソッドの詳細

    • getStatusCode

      HttpStatusCode getStatusCode()
      レスポンスに使用する HTTP ステータスコードを返します。
    • getHeaders

      default HttpHeaders getHeaders()
      レスポンスに使用するヘッダーを返します。
    • getBody

      ProblemDetail getBody()
      レスポンスの本文を返します。これは、status がレスポンスステータスと一致する RFC 9457 ProblemDetail としてフォーマットされます。

      注意 : 返された ProblemDetail は、レスポンスがレンダリングされる前に、たとえば updateAndGetBody(MessageSource, Locale) を介して更新される可能性があります。実装メソッドではインスタンスフィールドを使用する必要があり、呼び出しごとに ProblemDetail を再作成したり、静的変数を使用したりしないでください。

    • getTypeMessageCode

      default StringSE getTypeMessageCode()
      MessageSource を通じて、この例外の問題の「型」を解決するために使用するコードを返します。MessageSource を通じて解決された型は URI.create(String)SE に渡されるため、エンコードされた URI 文字列である必要があります。

      デフォルトでは、これは getDefaultTypeMessageCode(Class) によって初期化されます。

      導入:
      6.1
    • getTitleMessageCode

      default StringSE getTitleMessageCode()
      MessageSource を介して、この例外の問題「タイトル」を解決するために使用するコードを返します。

      デフォルトでは、これは getDefaultTitleMessageCode(Class) によって初期化されます。

    • getDetailMessageCode

      default StringSE getDetailMessageCode()
      MessageSource を介して、この例外の問題「詳細」を解決するために使用するコードを返します。

      デフォルトでは、これは getDefaultDetailMessageCode(Class, String) によって初期化されます。

    • getDetailMessageArguments

      @Nullable default ObjectSE[] getDetailMessageArguments()
      MessageSource を介してこの例外の問題の「詳細」を解決するために message code と共に使用する引数を返します。引数は、メッセージ値のプレースホルダーに展開されます。「無効なコンテンツ型 {0}」です。
    • getDetailMessageArguments

      @Nullable default ObjectSE[] getDetailMessageArguments(MessageSource messageSource, LocaleSE locale)
      メッセージ引数値を解決するために指定された MessageSource を使用する getDetailMessageArguments() のバリアント。

      これは、検証エラーからメッセージコードを展開する場合などに役立ちます。

      デフォルトの実装は、指定された MessageSource および Locale を無視して、getDetailMessageArguments() に委譲します。

      パラメーター:
      messageSource - ルックアップに使用する MessageSource 
      locale - ルックアップに使用する Locale 
    • updateAndGetBody

      default ProblemDetail updateAndGetBody(@Nullable MessageSource messageSource, LocaleSE locale)
      指定された MessageSource を使用して typetitledetail メッセージコードを解決し、解決された値を使用して getBody() の対応するフィールドを更新します。
      パラメーター:
      messageSource - ルックアップに使用する MessageSource 
      locale - ルックアップに使用する Locale 
    • getDefaultTypeMessageCode

      static StringSE getDefaultTypeMessageCode(ClassSE<?> exceptionType)
      指定された例外型の「型」フィールドのメッセージコードを作成します。
      パラメーター:
      exceptionType - 問題に関連する例外型
      戻り値:
      "problemDetail.type." の後に完全に修飾された class name が続く
      導入:
      6.1
    • getDefaultTitleMessageCode

      static StringSE getDefaultTitleMessageCode(ClassSE<?> exceptionType)
      指定された例外型の「タイトル」フィールドのメッセージコードを作成します。
      パラメーター:
      exceptionType - 問題に関連する例外型
      戻り値:
      "problemDetail.title." の後に完全に修飾された class name が続く
    • getDefaultDetailMessageCode

      static StringSE getDefaultDetailMessageCode(ClassSE<?> exceptionType, @Nullable StringSE suffix)
      指定された例外型の「詳細」フィールドのメッセージコードを作成します。
      パラメーター:
      exceptionType - 問題に関連する例外型
      suffix - オプションのサフィックス。引数が異なる複数のエラーメッセージが表示される可能性がある例外の場合
      戻り値:
      "problemDetail." の後に完全修飾 class name とオプションのサフィックスが続く
    • create

      static ErrorResponse create(ThrowableSE ex, HttpStatusCode statusCode, StringSE detail)
      builder(Throwable, HttpStatusCode, String) を介してインスタンスを構築する静的ファクトリメソッド。
    • builder

      static ErrorResponse.Builder builder(ThrowableSE ex, HttpStatusCode statusCode, StringSE detail)
      ErrorResponse インスタンスを作成するビルダーを返します。
      パラメーター:
      ex - エラーレスポンスにつながる根本的な例外。主に、詳細メッセージコードタイトルメッセージコードのデフォルト値を導出します。
      statusCode - レスポンスに設定するステータスコード
      detail - getDetailMessageCode() を使用した MessageSource ルックアップによってオーバーライドされない限り、detail フィールドのデフォルト値
    • builder

      static ErrorResponse.Builder builder(ThrowableSE ex, ProblemDetail problemDetail)
      カスタム ProblemDetail インスタンスで使用する builder(Throwable, HttpStatusCode, String) のバリアント。
      導入:
      6.1