- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- io.avaje.http.client.HttpException
-
- All Implemented Interfaces:
Serializable
public class HttpException extends RuntimeException
HTTP Exception with support for converting the error response body into a bean.Wraps an underlying HttpResponse with helper methods to get the response body as string or as a bean.
Example catching HttpException
try { clientContext.request() .path("hello/saveForm") .formParam("email", "[email protected]") .formParam("url", "notAValidUrl") .POST() .asVoid(); } catch (HttpException e) { // obtain the statusCode from the exception ... int statusCode = e.statusCode()); HttpResponse<?> httpResponse = e.httpResponse(); // obtain the statusCode from httpResponse ... int statusCode = httpResponse.statusCode(); // convert error response body into a bean (typically Jackson/Gson) final MyErrorBean errorResponse = e.bean(MyErrorBean.class); final Map<String, String> errorMap = errorResponse.getErrors(); assertThat(errorMap.get("url")).isEqualTo("must be a valid URL"); assertThat(errorMap.get("name")).isEqualTo("must not be null"); }
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description HttpException(int statusCode, String message)
Create with status code and message.HttpException(int statusCode, String message, Throwable cause)
Create with status code, message and throwable.HttpException(int statusCode, Throwable cause)
Create with status code and throwable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
bean(Class<T> cls)
Return the response body content as a beanbyte[]
bodyAsBytes()
Return the response body content as raw bytes.String
bodyAsString()
Return the response body content as a UTF8 string.HttpResponse<?>
httpResponse()
Return the underlying HttpResponse.int
statusCode()
Return the HTTP status code.-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
Constructor Detail
-
HttpException
public HttpException(int statusCode, String message)
Create with status code and message.
-
HttpException
public HttpException(int statusCode, String message, Throwable cause)
Create with status code, message and throwable.
-
HttpException
public HttpException(int statusCode, Throwable cause)
Create with status code and throwable.
-
-
Method Detail
-
bean
public <T> T bean(Class<T> cls)
Return the response body content as a bean- Parameters:
cls
- The type of bean to convert the response to- Returns:
- The response as a bean
-
bodyAsString
public String bodyAsString()
Return the response body content as a UTF8 string.
-
bodyAsBytes
public byte[] bodyAsBytes()
Return the response body content as raw bytes.
-
statusCode
public int statusCode()
Return the HTTP status code.
-
httpResponse
public HttpResponse<?> httpResponse()
Return the underlying HttpResponse.
-
-