public class DefaultResponseErrorHandler extends java.lang.Object implements ResponseErrorHandler
ResponseErrorHandler
インターフェースの Spring のデフォルト実装。 このエラーハンドラーは、ClientHttpResponse
のステータスコードをチェックします。HttpStatus.Series.CLIENT_ERROR
または HttpStatus.Series.SERVER_ERROR
シリーズのコードはすべてエラーと見なされます。この動作は、hasError(HttpStatus)
メソッドをオーバーライドすることで変更できます。不明なステータスコードは hasError(ClientHttpResponse)
によって無視されます。
RestTemplate.setErrorHandler(org.springframework.web.client.ResponseErrorHandler)
コンストラクターと説明 |
---|
DefaultResponseErrorHandler() |
修飾子と型 | メソッドと説明 |
---|---|
protected java.nio.charset.Charset | getCharset(ClientHttpResponse response) レスポンスの文字セットを決定します(ステータス例外に含めるため)。 |
protected HttpStatus | getHttpStatusCode(ClientHttpResponse response) 使用すべきではありません。 5.0 現在、 handleError(ClientHttpResponse, HttpStatus) を推奨 |
protected byte[] | getResponseBody(ClientHttpResponse response) 指定されたレスポンスの本文を読み取ります(ステータス例外に含めるため)。 |
void | handleError(ClientHttpResponse response) レスポンスステータスコードを使用して handleError(ClientHttpResponse, HttpStatus) にデリゲートします。 |
protected void | handleError(ClientHttpResponse response, HttpStatus statusCode) 特定の解決済みステータスコードを使用して、特定のレスポンスのエラーを処理します。 |
boolean | hasError(ClientHttpResponse response) レスポンスステータスコードを持つ hasError(HttpStatus) (標準ステータス列挙値の場合)または hasError(int) (不明なステータスコードの場合)へのデリゲート。 |
protected boolean | hasError(HttpStatus statusCode) hasError(ClientHttpResponse) から呼び出されるテンプレートメソッド。 |
protected boolean | hasError(int unknownStatusCode) hasError(ClientHttpResponse) から呼び出されるテンプレートメソッド。 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handleError
public boolean hasError(ClientHttpResponse response) throws java.io.IOException
hasError(HttpStatus)
(標準ステータス列挙値の場合)または hasError(int)
(不明なステータスコードの場合)へのデリゲート。ResponseErrorHandler
の hasError
response
- インスペクションするレスポンス true
。それ以外の場合は false
java.io.IOException
- I/O エラーの場合 ClientHttpResponse.getRawStatusCode()
, hasError(HttpStatus)
, hasError(int)
protected boolean hasError(HttpStatus statusCode)
hasError(ClientHttpResponse)
から呼び出されるテンプレートメソッド。 デフォルトの実装は HttpStatus.isError()
をチェックします。サブクラスでオーバーライドできます。
statusCode
- 列挙値としての HTTP ステータスコード true
。それ以外の場合は false
HttpStatus.isError()
protected boolean hasError(int unknownStatusCode)
hasError(ClientHttpResponse)
から呼び出されるテンプレートメソッド。 デフォルトの実装では、指定されたステータスコードが HttpStatus.Series#CLIENT_ERROR CLIENT_ERROR
または HttpStatus.Series#SERVER_ERROR SERVER_ERROR
であるかどうかがチェックされます。サブクラスでオーバーライドできます。
unknownStatusCode
- 生の値としての HTTP ステータスコード true
。それ以外の場合は false
HttpStatus.Series#CLIENT_ERROR
, HttpStatus.Series#SERVER_ERROR
public void handleError(ClientHttpResponse response) throws java.io.IOException
handleError(ClientHttpResponse, HttpStatus)
にデリゲートします。ResponseErrorHandler
の handleError
response
- エラーのあるレスポンス UnknownHttpStatusCodeException
- 解決できないステータスコードの場合 java.io.IOException
- I/O エラーの場合 handleError(ClientHttpResponse, HttpStatus)
protected void handleError(ClientHttpResponse response, HttpStatus statusCode) throws java.io.IOException
デフォルトの実装では、ステータスコードが HttpStatus.Series#CLIENT_ERROR
の場合は HttpClientErrorException
、HttpStatus.Series#SERVER_ERROR
の場合は HttpServerErrorException
、その他の場合は UnknownHttpStatusCodeException
がスローされます。
java.io.IOException
HttpClientErrorException.create(org.springframework.http.HttpStatus, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset)
, HttpServerErrorException.create(org.springframework.http.HttpStatus, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset)
@Deprecated protected HttpStatus getHttpStatusCode(ClientHttpResponse response) throws java.io.IOException
handleError(ClientHttpResponse, HttpStatus)
に置き換えられました。response
- インスペクションするレスポンス java.io.IOException
- I/O エラーの場合 UnknownHttpStatusCodeException
- HttpStatus
enum で表すことができない不明なステータスコードの場合 protected byte[] getResponseBody(ClientHttpResponse response)
response
- インスペクションするレスポンス @Nullable protected java.nio.charset.Charset getCharset(ClientHttpResponse response)
response
- インスペクションするレスポンス null