クラス DefaultResponseErrorHandler
- 実装されたすべてのインターフェース:
ResponseErrorHandler
- 既知の直属サブクラス
ExtractingResponseErrorHandler
ResponseErrorHandler
インターフェースの Spring のデフォルト実装。 このエラーハンドラーは、ClientHttpResponse
のステータスコードをチェックします。4xx または 5xx シリーズのコードはエラーと見なされます。この動作は、hasError(HttpStatusCode)
をオーバーライドすることで変更できます。不明なステータスコードは hasError(ClientHttpResponse)
によって無視されます。
特定の例外型の詳細については、handleError(URI, HttpMethod, ClientHttpResponse)
を参照してください。
- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
- 関連事項:
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明protected CharsetSE
getCharset
(ClientHttpResponse response) レスポンスの文字セットを決定します(ステータス例外に含めるため)。protected byte[]
getResponseBody
(ClientHttpResponse response) 指定されたレスポンスの本文を読み取ります(ステータス例外に含めるため)。void
handleError
(URISE url, HttpMethod method, ClientHttpResponse response) 指定された解決済みのステータスコードと、リクエスト URL および HTTP メソッドへのアクセスを提供する追加情報を使用して、指定されたレスポンス内のエラーを処理します。void
handleError
(ClientHttpResponse response) 指定されたレスポンスのエラーを処理します。protected void
handleError
(ClientHttpResponse response, HttpStatusCode statusCode, URISE url, HttpMethod method) 解決されたステータスコードに基づいてエラーを処理します。protected boolean
hasError
(int statusCode) 使用すべきではありません。boolean
hasError
(ClientHttpResponse response) レスポンスステータスコードを使用してhasError(HttpStatusCode)
にデリゲートします。protected boolean
hasError
(HttpStatusCode statusCode) hasError(ClientHttpResponse)
から呼び出されるテンプレートメソッド。protected FunctionSE<ResolvableType,
?> initBodyConvertFunction
(ClientHttpResponse response, byte[] body) エラー内容をデコードする関数を返します。
コンストラクターの詳細
DefaultResponseErrorHandler
public DefaultResponseErrorHandler()
メソッドの詳細
hasError
レスポンスステータスコードを使用してhasError(HttpStatusCode)
にデリゲートします。- 次で指定:
- インターフェース
ResponseErrorHandler
のhasError
- パラメーター:
response
- インスペクションするレスポンス- 戻り値:
- レスポンスがエラーを示す場合、
true
。それ以外の場合はfalse
- 例外:
IOExceptionSE
- I/O エラーの場合- 関連事項:
hasError
hasError(ClientHttpResponse)
から呼び出されるテンプレートメソッド。デフォルトの実装は
HttpStatusCode.isError()
をチェックします。サブクラスでオーバーライドできます。- パラメーター:
statusCode
- HTTP ステータスコード- 戻り値:
- レスポンスがエラーを示す場合、
true
。それ以外の場合はfalse
- 関連事項:
hasError
使用すべきではありません。hasError(ClientHttpResponse)
から呼び出されるテンプレートメソッド。デフォルトの実装では、指定されたステータスコードが
CLIENT_ERROR
またはSERVER_ERROR
かどうかを確認します。サブクラスでオーバーライドできます。- パラメーター:
statusCode
- 生の値としての HTTP ステータスコード- 戻り値:
- レスポンスがエラーを示す場合、
true
。それ以外の場合はfalse
- 導入:
- 4.3.21
- 関連事項:
handleError
public void handleError(URISE url, HttpMethod method, ClientHttpResponse response) throws IOExceptionSE 指定された解決済みのステータスコードと、リクエスト URL および HTTP メソッドへのアクセスを提供する追加情報を使用して、指定されたレスポンス内のエラーを処理します。デフォルトの実装は以下をスローします:
- ステータスコードが 4xx シリーズ、または
HttpClientErrorException.BadRequest
などのサブクラスの 1 つである場合は、HttpClientErrorException
。 - ステータスコードが 5xx シリーズ、または
HttpServerErrorException.InternalServerError
などのサブクラスの 1 つである場合は、HttpServerErrorException
。 HttpStatus
列挙範囲にないエラーステータスコードのUnknownHttpStatusCodeException
。
- 次で指定:
- インターフェース
ResponseErrorHandler
のhandleError
- パラメーター:
url
- リクエスト URLmethod
- HTTP メソッドresponse
- エラーのあるレスポンス- 例外:
UnknownHttpStatusCodeException
- 解決できないステータスコードの場合IOExceptionSE
- I/O エラーの場合- 導入:
- 6.2
- 関連事項:
- ステータスコードが 4xx シリーズ、または
handleError
インターフェースからコピーされた説明:ResponseErrorHandler
指定されたレスポンスのエラーを処理します。このメソッドは、
ResponseErrorHandler.hasError(ClientHttpResponse)
がtrue
を返したときにのみ呼び出されます。- 次で指定:
- インターフェース
ResponseErrorHandler
のhandleError
- パラメーター:
response
- エラーのあるレスポンス- 例外:
IOExceptionSE
- I/O エラーの場合
handleError
protected void handleError(ClientHttpResponse response, HttpStatusCode statusCode, @Nullable URISE url, @Nullable HttpMethod method) throws IOExceptionSE 解決されたステータスコードに基づいてエラーを処理します。デフォルトの実装は、4xx の範囲のエラーの場合は
HttpClientErrorException.create(org.springframework.http.HttpStatusCode, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset)
に委譲し、5xx の範囲のエラーの場合はHttpServerErrorException.create(org.springframework.http.HttpStatusCode, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset)
に委譲するか、そうでなければUnknownHttpStatusCodeException
を発生させます。- 例外:
IOExceptionSE
- 導入:
- 6.2
- 関連事項:
HttpClientErrorException.create(org.springframework.http.HttpStatusCode, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset)
HttpServerErrorException.create(org.springframework.http.HttpStatusCode, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset)
getResponseBody
指定されたレスポンスの本文を読み取ります(ステータス例外に含めるため)。- パラメーター:
response
- インスペクションするレスポンス- 戻り値:
- バイト配列としてのレスポンス本文、または本文を読み取れなかった場合は空のバイト配列
- 導入:
- 4.3.8
getCharset
レスポンスの文字セットを決定します(ステータス例外に含めるため)。- パラメーター:
response
- インスペクションするレスポンス- 戻り値:
- 関連する文字セット。ない場合は
null
- 導入:
- 4.3.8
initBodyConvertFunction
protected FunctionSE<ResolvableType,?> initBodyConvertFunction(ClientHttpResponse response, byte[] body) エラー内容をデコードする関数を返します。これはRestClientResponseException.setBodyConvertFunction(Function)
に渡すことができます。- 導入:
- 6.0
hasError(HttpStatusCode)
を推奨