public class ExtractingResponseErrorHandler extends DefaultResponseErrorHandler
HttpMessageConverters を使用して HTTP エラーレスポンスを RestClientExceptions に変換する ResponseErrorHandler の実装。 このエラーハンドラーを使用するには、ステータスマッピングまたはシリーズマッピング、あるいはその両方を指定する必要があります。これらのマッピングのいずれかが特定の ClientHttpResponse のステータスコードと一致する場合、DefaultResponseErrorHandler.hasError(ClientHttpResponse) は true を返し、DefaultResponseErrorHandler.handleError(ClientHttpResponse) は構成されたメッセージコンバーターを使用してレスポンスを RestClientException のマップされたサブクラスに変換しようとします。ステータスマッピングはシリーズマッピングよりも優先されることに注意してください。
一致しない場合、このエラーハンドラーはデフォルトで DefaultResponseErrorHandler の動作になります。HttpStatus.Series#CLIENT_ERROR および / または HttpStatus.Series#SERVER_ERROR から null へのシリーズマッピングを指定することにより、このデフォルトの動作を上書きできることに注意してください。
RestTemplate.setErrorHandler(ResponseErrorHandler)| コンストラクターと説明 |
|---|
ExtractingResponseErrorHandler() 新しい空の ExtractingResponseErrorHandler を作成します。 |
ExtractingResponseErrorHandler(ListSE<HttpMessageConverter<?>> messageConverters) 指定された HttpMessageConverter インスタンスで新しい ExtractingResponseErrorHandler を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | handleError(ClientHttpResponse response, HttpStatus statusCode) 解決されたステータスコードに基づいてエラーを処理します。 |
protected boolean | hasError(HttpStatus statusCode)DefaultResponseErrorHandler.hasError(ClientHttpResponse) から呼び出されるテンプレートメソッド。 |
void | setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters) この抽出プログラムで使用するメッセージコンバーターを設定します。 |
void | setSeriesMapping(MapSE<HttpStatus.Series, ClassSE<? extends RestClientException>> seriesMapping)HTTP ステータスシリーズから RestClientException サブクラスへのマッピングを設定します。 |
void | setStatusMapping(MapSE<HttpStatus, ClassSE<? extends RestClientException>> statusMapping)HTTP ステータスコードから RestClientException サブクラスへのマッピングを設定します。 |
getCharset, getHttpStatusCode, getResponseBody, handleError, hasError, hasErrorcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEhandleErrorpublic ExtractingResponseErrorHandler()
ExtractingResponseErrorHandler を作成します。 このコンストラクターを使用する場合は、setMessageConverters(List) を呼び出す必要があることに注意してください。
public ExtractingResponseErrorHandler(ListSE<HttpMessageConverter<?>> messageConverters)
HttpMessageConverter インスタンスで新しい ExtractingResponseErrorHandler を作成します。messageConverters - 使用するメッセージコンバーター public void setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
public void setStatusMapping(MapSE<HttpStatus,ClassSE<? extends RestClientException>> statusMapping)
RestClientException サブクラスへのマッピングを設定します。このマッピングが特定の ClientHttpResponse のステータスコードと一致する場合、DefaultResponseErrorHandler.hasError(ClientHttpResponse) は true を返し、DefaultResponseErrorHandler.handleError(ClientHttpResponse) は構成されたメッセージコンバーターを使用してレスポンスを RestClientException のマップされたサブクラスに変換しようとします。public void setSeriesMapping(MapSE<HttpStatus.Series,ClassSE<? extends RestClientException>> seriesMapping)
RestClientException サブクラスへのマッピングを設定します。このマッピングが特定の ClientHttpResponse のステータスコードと一致する場合、DefaultResponseErrorHandler.hasError(ClientHttpResponse) は true を返し、DefaultResponseErrorHandler.handleError(ClientHttpResponse) は構成されたメッセージコンバーターを使用してレスポンスを RestClientException のマップされたサブクラスに変換しようとします。protected boolean hasError(HttpStatus statusCode)
DefaultResponseErrorHandlerDefaultResponseErrorHandler.hasError(ClientHttpResponse) から呼び出されるテンプレートメソッド。 デフォルトの実装は HttpStatus.isError() をチェックします。サブクラスでオーバーライドできます。
DefaultResponseErrorHandler の hasError statusCode - 列挙値としての HTTP ステータスコード true。それ以外の場合は false HttpStatus.isError()public void handleError(ClientHttpResponse response, HttpStatus statusCode) throws IOExceptionSE
DefaultResponseErrorHandler デフォルトの実装は、4xx の範囲のエラーの場合は HttpClientErrorException.create(org.springframework.http.HttpStatus, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset) に委譲し、5xx の範囲のエラーの場合は HttpServerErrorException.create(org.springframework.http.HttpStatus, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset) に委譲するか、そうでなければ UnknownHttpStatusCodeException を発生させます。
DefaultResponseErrorHandler の handleError IOExceptionSEHttpClientErrorException.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)