パッケージ org.springframework.web

インターフェース ErrorResponse

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

public interface ErrorResponse
ステータス、ヘッダー、RFC 7807 フォーマットの ProblemDetail 本文を含む完全な RFC 7807 エラーレスポンスの表現。例外が HTTP エラーレスポンス情報を公開できるようにします。

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

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

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

    • getStatusCode

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

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

      ProblemDetail getBody()
      レスポンスの本文を返します。RFC 7807 ProblemDetail としてフォーマットされ、status はレスポンスステータスと一致する必要があります。
    • 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 
    • getTitleMessageCode

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

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

    • updateAndGetBody

      default ProblemDetail updateAndGetBody(@Nullable MessageSource messageSource, LocaleSE locale)
      指定された MessageSource を介して detailMessageCode および titleMessageCode を解決し、見つかった場合は、それぞれ「詳細」フィールドと「タイトル」フィールドを更新します。
      パラメーター:
      messageSource - ルックアップに使用する MessageSource 
      locale - ルックアップに使用する Locale 
    • getDefaultDetailMessageCode

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

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