-
public interface HttpClientContextThe HTTP client context that we use to build and process requests.HttpClientContext ctx = HttpClientContext.newBuilder() .baseUrl("http://localhost:8080") .bodyAdapter(new JacksonBodyAdapter()) .build(); HelloDto dto = ctx.request() .path("hello") .queryParam("name", "Rob") .queryParam("say", "Whats up") .GET() .bean(HelloDto.class);
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceHttpClientContext.BuilderBuilds the HttpClientContext.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcheckResponse(HttpResponse<?> response)Check the response status code and throw HttpException if the status code is in the error range.BodyAdapterconverters()Return the body adapter used by the client context.<T> Tcreate(Class<T> clientInterface)Return the http client API implementation.byte[]decodeContent(String encoding, byte[] content)Decode the body using the given encoding.byte[]decodeContent(HttpResponse<byte[]> httpResponse)Decode the response content given theContent-Encodinghttp header.HttpClienthttpClient()Return the underlying http client.static HttpClientContext.BuildernewBuilder()Return the builder to config and build the client context.BodyContentreadContent(HttpResponse<byte[]> httpResponse)Return the response content taking into account content encoding.HttpClientRequestrequest()Create a new request.UrlBuilderurl()Return a UrlBuilder to use to build an URL taking into account the base URL.
-
-
-
Method Detail
-
newBuilder
static HttpClientContext.Builder newBuilder()
Return the builder to config and build the client context.HttpClientContext ctx = HttpClientContext.newBuilder() .baseUrl("http://localhost:8080") .bodyAdapter(new JacksonBodyAdapter()) .build(); HttpResponse<String> res = ctx.request() .path("hello") .GET().asString();
-
create
<T> T create(Class<T> clientInterface)
Return the http client API implementation.- Type Parameters:
T- The service type.- Parameters:
clientInterface- A@Clientinterface with annotated API methods.- Returns:
- The http client API implementation.
-
request
HttpClientRequest request()
Create a new request.
-
url
UrlBuilder url()
Return a UrlBuilder to use to build an URL taking into account the base URL.
-
converters
BodyAdapter converters()
Return the body adapter used by the client context.This is the body adapter used to convert request and response bodies to java types. For example using Jackson with JSON payloads.
-
httpClient
HttpClient httpClient()
Return the underlying http client.
-
checkResponse
void checkResponse(HttpResponse<?> response)
Check the response status code and throw HttpException if the status code is in the error range.
-
readContent
BodyContent readContent(HttpResponse<byte[]> httpResponse)
Return the response content taking into account content encoding.- Parameters:
httpResponse- The HTTP response to decode the content from- Returns:
- The decoded content
-
decodeContent
byte[] decodeContent(HttpResponse<byte[]> httpResponse)
Decode the response content given theContent-Encodinghttp header.- Parameters:
httpResponse- The HTTP response- Returns:
- The decoded content
-
decodeContent
byte[] decodeContent(String encoding, byte[] content)
Decode the body using the given encoding.- Parameters:
encoding- The encoding used to decode the contentcontent- The raw content being decoded- Returns:
- The decoded content
-
-