クラス 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 CharsetSEgetCharset(ClientHttpResponse response) レスポンスの文字セットを決定します(ステータス例外に含めるため)。protected byte[]getResponseBody(ClientHttpResponse response) 指定されたレスポンスの本文を読み取ります(ステータス例外に含めるため)。voidhandleError(URISE url, HttpMethod method, ClientHttpResponse response) 指定された解決済みのステータスコードと、リクエスト URL および HTTP メソッドへのアクセスを提供する追加情報を使用して、指定されたレスポンス内のエラーを処理します。voidhandleError(ClientHttpResponse response) 指定されたレスポンスのエラーを処理します。protected voidhandleError(ClientHttpResponse response, HttpStatusCode statusCode, URISE url, HttpMethod method) 解決されたステータスコードに基づいてエラーを処理します。protected booleanhasError(int statusCode) 使用すべきではありません。booleanhasError(ClientHttpResponse response) レスポンスステータスコードを使用してhasError(HttpStatusCode)にデリゲートします。protected booleanhasError(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)を推奨