Skip to main content

Request Parts

Per-client or per-request HTTP parts (headers, query/form data, path parameters) can be manipulated via the following methods that return back builders for those parts:

RestClient.Builderheaders() formData() queryData() pathData()RestRequestgetHeaders() getFormData() getQueryData() getPathData()

Convenience methods are also provided for quickly adding parts:

RestClient.Builderheader(String,String) header(String,Supplier) headers(Header...) headersDefault(Header...)formData(NameValuePair...) formData(String,String) formData(String,Supplier) formDataDefault(NameValuePair...)queryData(NameValuePair...) queryData(String,String) queryData(String,Supplier) queryDataDefault(NameValuePair...)pathData(NameValuePair...) pathData(String,String) pathData(String,Supplier) pathDataDefault(NameValuePair...)RestRequestheader(Header) header(String,Object) headerPairs(String...) headers(Header...) headersBean(Object)formData(NameValuePair...) formData(String,Object) formDataBean(Object) formDataCustom(Object) formDataPairs(String...)queryData(NameValuePair...) queryData(String,Object) queryDataBean(Object) queryDataPairs(String...)pathData(NameValuePair...) pathData(String,Object) pathDataBean(Object) pathDataPairs(String...)
Example
// Create a client that adds a "Foo: bar" header to every request.
RestClient client = RestClient.create().header("Foo","bar").build();

// Or do it on every request.
String response = client.get(URI).header("Foo","bar").run().getContent().asString();

The supplier methods are particularly useful for header values whose values may change over time (such as Authorization headers which may need to change every few minutes).

Example
// Create a client that adds a dynamic Authorization header to every request.
RestClient client = RestClient.create().header("Authorization", ()->getMyAuthToken()).build();
See Also