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.getStatusCode());
HttpResponse<?> httpResponse = e.getHttpResponse();
// 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
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<?>
getHttpResponse()
Deprecated.int
getStatusCode()
Deprecated.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 Details
-
HttpException
Create with status code and message. -
HttpException
Create with status code, message and throwable. -
HttpException
Create with status code and throwable.
-
-
Method Details
-
bean
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
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. -
getStatusCode
Deprecated.Deprecated migrate to statusCode() -
httpResponse
Return the underlying HttpResponse. -
getHttpResponse
Deprecated.Deprecated migrate to httpResponse().
-