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(java.util.List<HttpMessageConverter<?>> messageConverters) 指定された HttpMessageConverter インスタンスで新しい ExtractingResponseErrorHandler を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | handleError(ClientHttpResponse response, HttpStatus statusCode) 特定の解決済みステータスコードを使用して、特定のレスポンスのエラーを処理します。 |
protected boolean | hasError(HttpStatus statusCode)DefaultResponseErrorHandler.hasError(ClientHttpResponse) から呼び出されるテンプレートメソッド。 |
void | setMessageConverters(java.util.List<HttpMessageConverter<?>> messageConverters) この抽出プログラムで使用するメッセージコンバーターを設定します。 |
void | setSeriesMapping(java.util.Map<HttpStatus.Series,java.lang.Class<? extends RestClientException>> seriesMapping)HTTP ステータスシリーズから RestClientException サブクラスへのマッピングを設定します。 |
void | setStatusMapping(java.util.Map<HttpStatus,java.lang.Class<? extends RestClientException>> statusMapping)HTTP ステータスコードから RestClientException サブクラスへのマッピングを設定します。 |
getCharset, getHttpStatusCode, getResponseBody, handleError, hasErrorclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandleErrorpublic ExtractingResponseErrorHandler()
ExtractingResponseErrorHandler を作成します。 このコンストラクターを使用する場合は、setMessageConverters(List) を呼び出す必要があることに注意してください。
public ExtractingResponseErrorHandler(java.util.List<HttpMessageConverter<?>> messageConverters)
HttpMessageConverter インスタンスで新しい ExtractingResponseErrorHandler を作成します。messageConverters - 使用するメッセージコンバーター public void setMessageConverters(java.util.List<HttpMessageConverter<?>> messageConverters)
public void setStatusMapping(java.util.Map<HttpStatus,java.lang.Class<? extends RestClientException>> statusMapping)
RestClientException サブクラスへのマッピングを設定します。このマッピングが特定の ClientHttpResponse のステータスコードと一致する場合、DefaultResponseErrorHandler.hasError(ClientHttpResponse) は true を返し、DefaultResponseErrorHandler.handleError(ClientHttpResponse) は構成されたメッセージコンバーターを使用してレスポンスを RestClientException のマップされたサブクラスに変換しようとします。public void setSeriesMapping(java.util.Map<HttpStatus.Series,java.lang.Class<? extends RestClientException>> seriesMapping)
RestClientException サブクラスへのマッピングを設定します。このマッピングが特定の ClientHttpResponse のステータスコードと一致する場合、DefaultResponseErrorHandler.hasError(ClientHttpResponse) は true を返し、DefaultResponseErrorHandler.handleError(ClientHttpResponse) は構成されたメッセージコンバーターを使用してレスポンスを RestClientException のマップされたサブクラスに変換しようとします。protected boolean hasError(HttpStatus statusCode)
DefaultResponseErrorHandlerDefaultResponseErrorHandler.hasError(ClientHttpResponse) から呼び出されるテンプレートメソッド。 デフォルトの実装では、指定されたステータスコードが HttpStatus.Series#CLIENT_ERROR CLIENT_ERROR または HttpStatus.Series#SERVER_ERROR SERVER_ERROR であるかどうかがチェックされます。サブクラスでオーバーライドできます。
DefaultResponseErrorHandler の hasError statusCode - HTTP ステータスコード true。それ以外の場合は false public void handleError(ClientHttpResponse response, HttpStatus statusCode) throws java.io.IOException
DefaultResponseErrorHandler このデフォルトの実装は、レスポンスステータスコードが HttpStatus.Series.CLIENT_ERROR の場合は HttpClientErrorException をスローし、HttpStatus.Series.SERVER_ERROR の場合は HttpServerErrorException をスローし、それ以外の場合は RestClientException をスローします。
DefaultResponseErrorHandler の handleError java.io.IOException