public class ExtractingResponseErrorHandler extends DefaultResponseErrorHandler
HttpMessageConverter を使用して HTTP エラーレスポンスを RestClientException に変換する 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, 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) から呼び出されるテンプレートメソッド。 デフォルトの実装では、指定されたステータスコードが CLIENT_ERROR または SERVER_ERROR であるかどうかがチェックされます。サブクラスでオーバーライドできます。
DefaultResponseErrorHandler の hasError statusCode - HTTP ステータスコード true。それ以外の場合は false public void handleError(ClientHttpResponse response, HttpStatus statusCode) throws IOExceptionSE
DefaultResponseErrorHandler このデフォルトの実装は、レスポンスステータスコードが HttpStatus.Series.CLIENT_ERROR の場合は HttpClientErrorException をスローし、HttpStatus.Series.SERVER_ERROR の場合は HttpServerErrorException をスローし、それ以外の場合は RestClientException をスローします。
DefaultResponseErrorHandler の handleError IOExceptionSE