Class WebClientResponseException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.springframework.core.NestedRuntimeException
org.springframework.web.reactive.function.client.WebClientException
org.springframework.web.reactive.function.client.WebClientResponseException
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
UnknownHttpStatusCodeException
,WebClientResponseException.BadGateway
,WebClientResponseException.BadRequest
,WebClientResponseException.Conflict
,WebClientResponseException.Forbidden
,WebClientResponseException.GatewayTimeout
,WebClientResponseException.Gone
,WebClientResponseException.InternalServerError
,WebClientResponseException.MethodNotAllowed
,WebClientResponseException.NotAcceptable
,WebClientResponseException.NotFound
,WebClientResponseException.NotImplemented
,WebClientResponseException.ServiceUnavailable
,WebClientResponseException.TooManyRequests
,WebClientResponseException.Unauthorized
,WebClientResponseException.UnprocessableEntity
,WebClientResponseException.UnsupportedMediaType
Exceptions that contain actual HTTP response data.
- Since:
- 5.0
- Author:
- Arjen Poutsma, Sebastien Deleuze
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
WebClientResponseException
for HTTP status 502 Bad Gateway.static class
WebClientResponseException
for status HTTP 400 Bad Request.static class
WebClientResponseException
for status HTTP 409 Conflict.static class
WebClientResponseException
for status HTTP 403 Forbidden.static class
WebClientResponseException
for status HTTP 504 Gateway Timeout.static class
WebClientResponseException
for status HTTP 410 Gone.static class
WebClientResponseException
for status HTTP 500 Internal Server Error.static class
WebClientResponseException
for status HTTP 405 Method Not Allowed.static class
WebClientResponseException
for status HTTP 406 Not Acceptable.static class
WebClientResponseException
for status HTTP 404 Not Found.static class
WebClientResponseException
for status HTTP 501 Not Implemented.static class
WebClientResponseException
for status HTTP 503 Service Unavailable.static class
WebClientResponseException
for status HTTP 429 Too Many Requests.static class
WebClientResponseException
for status HTTP 401 Unauthorized.static class
WebClientResponseException
for status HTTP 422 Unprocessable Entity.static class
WebClientResponseException
for status HTTP 415 Unsupported Media Type. -
Constructor Summary
ConstructorDescriptionWebClientResponseException
(int statusCode, String statusText, HttpHeaders headers, byte[] body, Charset charset) Constructor with response data only, and a default message.WebClientResponseException
(int status, String reasonPhrase, HttpHeaders headers, byte[] body, Charset charset, HttpRequest request) Constructor with response data only, and a default message.WebClientResponseException
(String message, int statusCode, String statusText, HttpHeaders headers, byte[] responseBody, Charset charset) Constructor with a prepared message.WebClientResponseException
(String message, int statusCode, String statusText, HttpHeaders headers, byte[] responseBody, Charset charset, HttpRequest request) Constructor with a prepared message.WebClientResponseException
(String message, HttpStatusCode statusCode, String statusText, HttpHeaders headers, byte[] responseBody, Charset charset, HttpRequest request) Constructor with a prepared message.WebClientResponseException
(HttpStatusCode statusCode, String reasonPhrase, HttpHeaders headers, byte[] body, Charset charset, HttpRequest request) Constructor with response data only, and a default message. -
Method Summary
Modifier and TypeMethodDescriptionstatic WebClientResponseException
create
(int statusCode, String statusText, HttpHeaders headers, byte[] body, Charset charset) CreateWebClientResponseException
or an HTTP status specific subclass.static WebClientResponseException
create
(int statusCode, String statusText, HttpHeaders headers, byte[] body, Charset charset, HttpRequest request) CreateWebClientResponseException
or an HTTP status specific subclass.static WebClientResponseException
create
(HttpStatusCode statusCode, String statusText, HttpHeaders headers, byte[] body, Charset charset, HttpRequest request) CreateWebClientResponseException
or an HTTP status specific subclass.Return the HTTP response headers.int
Deprecated.Return the corresponding request.<E> E
getResponseBodyAs
(Class<E> targetType) Decode the error content to the specified type.<E> E
getResponseBodyAs
(ParameterizedTypeReference<E> targetType) Variant ofgetResponseBodyAs(Class)
withParameterizedTypeReference
.byte[]
Return the response body as a byte array.Return the response content as a String using the charset of media type for the response, if available, or otherwise falling back on UTF-8.getResponseBodyAsString
(Charset defaultCharset) Variant ofgetResponseBodyAsString()
that allows specifying the charset to fall back on, if a charset is not available from the media type for the response.Return the HTTP status code value.Return the HTTP status text.void
setBodyDecodeFunction
(Function<ResolvableType, ?> decoderFunction) Provide a function to find a decoder the given target type.Methods inherited from class org.springframework.core.NestedRuntimeException
contains, getMostSpecificCause, getRootCause
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
WebClientResponseException
public WebClientResponseException(int statusCode, String statusText, @Nullable HttpHeaders headers, @Nullable byte[] body, @Nullable Charset charset) Constructor with response data only, and a default message.- Since:
- 5.1
-
WebClientResponseException
public WebClientResponseException(int status, String reasonPhrase, @Nullable HttpHeaders headers, @Nullable byte[] body, @Nullable Charset charset, @Nullable HttpRequest request) Constructor with response data only, and a default message.- Since:
- 5.1.4
-
WebClientResponseException
public WebClientResponseException(HttpStatusCode statusCode, String reasonPhrase, @Nullable HttpHeaders headers, @Nullable byte[] body, @Nullable Charset charset, @Nullable HttpRequest request) Constructor with response data only, and a default message.- Since:
- 6.0
-
WebClientResponseException
public WebClientResponseException(String message, int statusCode, String statusText, @Nullable HttpHeaders headers, @Nullable byte[] responseBody, @Nullable Charset charset) Constructor with a prepared message. -
WebClientResponseException
public WebClientResponseException(String message, int statusCode, String statusText, @Nullable HttpHeaders headers, @Nullable byte[] responseBody, @Nullable Charset charset, @Nullable HttpRequest request) Constructor with a prepared message.- Since:
- 5.1.4
-
WebClientResponseException
public WebClientResponseException(String message, HttpStatusCode statusCode, String statusText, @Nullable HttpHeaders headers, @Nullable byte[] responseBody, @Nullable Charset charset, @Nullable HttpRequest request) Constructor with a prepared message.- Since:
- 6.0
-
-
Method Details
-
getStatusCode
Return the HTTP status code value.- Throws:
IllegalArgumentException
- in case of an unknown HTTP status code
-
getRawStatusCode
Deprecated.as of 6.0, in favor ofgetStatusCode()
Return the raw HTTP status code value. -
getStatusText
Return the HTTP status text. -
getHeaders
Return the HTTP response headers. -
getResponseBodyAsByteArray
public byte[] getResponseBodyAsByteArray()Return the response body as a byte array. -
getResponseBodyAsString
Return the response content as a String using the charset of media type for the response, if available, or otherwise falling back on UTF-8. UsegetResponseBodyAsString(Charset)
if you want to fall back on a different, default charset. -
getResponseBodyAsString
Variant ofgetResponseBodyAsString()
that allows specifying the charset to fall back on, if a charset is not available from the media type for the response.- Parameters:
defaultCharset
- the charset to use if the Content-Type of the response does not specify one.- Since:
- 5.3.7
-
getResponseBodyAs
Decode the error content to the specified type.- Type Parameters:
E
- the expected target type- Parameters:
targetType
- the type to decode to- Returns:
- the decoded content, or
null
if there is no content - Throws:
IllegalStateException
- if a Decoder cannot be foundDecodingException
- if decoding fails- Since:
- 6.0
-
getResponseBodyAs
Variant ofgetResponseBodyAs(Class)
withParameterizedTypeReference
.- Since:
- 6.0
-
getRequest
Return the corresponding request.- Since:
- 5.1.4
-
setBodyDecodeFunction
Provide a function to find a decoder the given target type. For use withgetResponseBodyAs(Class)
.- Parameters:
decoderFunction
- the function to find a decoder with- Since:
- 6.0
-
getMessage
- Overrides:
getMessage
in classThrowable
-
create
public static WebClientResponseException create(int statusCode, String statusText, HttpHeaders headers, byte[] body, @Nullable Charset charset) CreateWebClientResponseException
or an HTTP status specific subclass.- Since:
- 5.1
-
create
public static WebClientResponseException create(int statusCode, String statusText, HttpHeaders headers, byte[] body, @Nullable Charset charset, @Nullable HttpRequest request) CreateWebClientResponseException
or an HTTP status specific subclass.- Since:
- 5.1.4
-
create
public static WebClientResponseException create(HttpStatusCode statusCode, String statusText, HttpHeaders headers, byte[] body, @Nullable Charset charset, @Nullable HttpRequest request) CreateWebClientResponseException
or an HTTP status specific subclass.- Since:
- 6.0
-
getStatusCode()