public class DefaultResponseErrorHandler extends java.lang.Object implements ResponseErrorHandler
ResponseErrorHandler
interface.
This error handler checks for the status code on the ClientHttpResponse
: any
code with series HttpStatus.Series.CLIENT_ERROR
or
HttpStatus.Series.SERVER_ERROR
is considered to be an
error. This behavior can be changed by overriding the hasError(HttpStatus)
method.
RestTemplate.setErrorHandler(org.springframework.web.client.ResponseErrorHandler)
Constructor and Description |
---|
DefaultResponseErrorHandler() |
Modifier and Type | Method and Description |
---|---|
void |
handleError(ClientHttpResponse response)
This default implementation throws a
HttpClientErrorException if the response status code
is HttpStatus.Series.CLIENT_ERROR , a HttpServerErrorException
if it is HttpStatus.Series.SERVER_ERROR ,
and a RestClientException in other cases. |
boolean |
hasError(ClientHttpResponse response)
Delegates to
hasError(HttpStatus) with the response status code. |
protected boolean |
hasError(HttpStatus statusCode)
Template method called from
hasError(ClientHttpResponse) . |
public boolean hasError(ClientHttpResponse response) throws java.io.IOException
hasError(HttpStatus)
with the response status code.hasError
in interface ResponseErrorHandler
response
- the response to inspecttrue
if the response has an error; false
otherwisejava.io.IOException
- in case of I/O errorsprotected boolean hasError(HttpStatus statusCode)
hasError(ClientHttpResponse)
.
The default implementation checks if the given status code is
CLIENT_ERROR
or SERVER_ERROR
.
Can be overridden in subclasses.
statusCode
- the HTTP status codetrue
if the response has an error; false
otherwisepublic void handleError(ClientHttpResponse response) throws java.io.IOException
HttpClientErrorException
if the response status code
is HttpStatus.Series.CLIENT_ERROR
, a HttpServerErrorException
if it is HttpStatus.Series.SERVER_ERROR
,
and a RestClientException
in other cases.handleError
in interface ResponseErrorHandler
response
- the response with the errorjava.io.IOException
- in case of I/O errors