public class ExtractingResponseErrorHandler extends DefaultResponseErrorHandler
ResponseErrorHandler that uses HttpMessageConverters to convert HTTP error responses to RestClientExceptions.
 To use this error handler, you must specify a
 status mapping and/or a
 series mapping. If either of these mappings has a match
 for the status code of a given
 ClientHttpResponse, DefaultResponseErrorHandler.hasError(ClientHttpResponse) will return
 true, and DefaultResponseErrorHandler.handleError(ClientHttpResponse) will attempt to use the
 configured message converters to convert the response
 into the mapped subclass of RestClientException. Note that the
 status mapping takes precedence over
 series mapping.
 
If there is no match, this error handler will default to the behavior of
 DefaultResponseErrorHandler. Note that you can override this default behavior
 by specifying a series mapping from
 HttpStatus.Series#CLIENT_ERROR and/or HttpStatus.Series#SERVER_ERROR
 to null.
RestTemplate.setErrorHandler(ResponseErrorHandler)| Constructor and Description | 
|---|
| ExtractingResponseErrorHandler()Create a new, empty  ExtractingResponseErrorHandler. | 
| ExtractingResponseErrorHandler(List<HttpMessageConverter<?>> messageConverters)Create a new  ExtractingResponseErrorHandlerwith the givenHttpMessageConverterinstances. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | handleError(ClientHttpResponse response,
           HttpStatus statusCode)Handle the error based on the resolved status code. | 
| protected boolean | hasError(HttpStatus statusCode)Template method called from  DefaultResponseErrorHandler.hasError(ClientHttpResponse). | 
| void | setMessageConverters(List<HttpMessageConverter<?>> messageConverters)Set the message converters to use by this extractor. | 
| void | setSeriesMapping(Map<HttpStatus.Series,Class<? extends RestClientException>> seriesMapping)Set the mapping from HTTP status series to  RestClientExceptionsubclass. | 
| void | setStatusMapping(Map<HttpStatus,Class<? extends RestClientException>> statusMapping)Set the mapping from HTTP status code to  RestClientExceptionsubclass. | 
getCharset, getHttpStatusCode, getResponseBody, handleError, hasError, hasErrorclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandleErrorpublic ExtractingResponseErrorHandler()
ExtractingResponseErrorHandler.
 Note that setMessageConverters(List) must be called when using this constructor.
public ExtractingResponseErrorHandler(List<HttpMessageConverter<?>> messageConverters)
ExtractingResponseErrorHandler with the given
 HttpMessageConverter instances.messageConverters - the message converters to usepublic void setMessageConverters(List<HttpMessageConverter<?>> messageConverters)
public void setStatusMapping(Map<HttpStatus,Class<? extends RestClientException>> statusMapping)
RestClientException subclass.
 If this mapping has a match
 for the status code of a given
 ClientHttpResponse, DefaultResponseErrorHandler.hasError(ClientHttpResponse) will return
 true and DefaultResponseErrorHandler.handleError(ClientHttpResponse) will attempt to use the
 configured message converters to convert the
 response into the mapped subclass of RestClientException.public void setSeriesMapping(Map<HttpStatus.Series,Class<? extends RestClientException>> seriesMapping)
RestClientException subclass.
 If this mapping has a match
 for the status code of a given
 ClientHttpResponse, DefaultResponseErrorHandler.hasError(ClientHttpResponse) will return
 true and DefaultResponseErrorHandler.handleError(ClientHttpResponse) will attempt to use the
 configured message converters to convert the
 response into the mapped subclass of RestClientException.protected boolean hasError(HttpStatus statusCode)
DefaultResponseErrorHandlerDefaultResponseErrorHandler.hasError(ClientHttpResponse).
 The default implementation checks HttpStatus.isError().
 Can be overridden in subclasses.
hasError in class DefaultResponseErrorHandlerstatusCode - the HTTP status code as enum valuetrue if the response indicates an error; false otherwiseHttpStatus.isError()public void handleError(ClientHttpResponse response, HttpStatus statusCode) throws IOException
DefaultResponseErrorHandlerThe default implementation delegates to
 HttpClientErrorException.create(org.springframework.http.HttpStatus, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset) for errors in the 4xx range, to
 HttpServerErrorException.create(org.springframework.http.HttpStatus, java.lang.String, org.springframework.http.HttpHeaders, byte[], java.nio.charset.Charset) for errors in the 5xx range,
 or otherwise raises UnknownHttpStatusCodeException.
handleError in class DefaultResponseErrorHandlerIOExceptionHttpClientErrorException.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)