public final class RequestTemplate extends Object implements Serializable
javax.ws.rs.client.WebTarget
and javax.ws.rs.client.Invocation.Builder
, ensuring you can modify any part of the request. However,
this object is mutable, so needs to be guarded with the copy constructor.Constructor and Description |
---|
RequestTemplate() |
RequestTemplate(RequestTemplate toCopy) |
Modifier and Type | Method and Description |
---|---|
RequestTemplate |
append(CharSequence value) |
byte[] |
body() |
RequestTemplate |
body(byte[] bodyData,
Charset charset)
replaces the
Util.CONTENT_LENGTH header. |
RequestTemplate |
body(String bodyText)
replaces the
Util.CONTENT_LENGTH header. |
String |
bodyTemplate() |
RequestTemplate |
bodyTemplate(String bodyTemplate)
populated by
Body |
Charset |
charset()
The character set with which the body is encoded, or null if unknown or not applicable.
|
CollectionFormat |
collectionFormat() |
RequestTemplate |
collectionFormat(CollectionFormat collectionFormat) |
boolean |
decodeSlash() |
RequestTemplate |
decodeSlash(boolean decodeSlash) |
static String |
expand(String template,
Map<String,?> variables)
Expands a
template , such as username , using the variables supplied. |
RequestTemplate |
header(String name,
Iterable<String> values) |
RequestTemplate |
header(String name,
String... values)
Replaces headers with the specified
configKey with the values supplied. |
Map<String,Collection<String>> |
headers()
Returns an immutable copy of the current headers.
|
RequestTemplate |
headers(Map<String,Collection<String>> headers)
Replaces all existing headers with the newly supplied headers.
|
RequestTemplate |
insert(int pos,
CharSequence value) |
String |
method() |
RequestTemplate |
method(String method) |
Map<String,Collection<String>> |
queries()
Returns an immutable copy of the url decoded queries.
|
RequestTemplate |
queries(Map<String,Collection<String>> queries)
Replaces all existing queries with the newly supplied url decoded queries.
|
RequestTemplate |
query(boolean encoded,
String name,
Iterable<String> values) |
RequestTemplate |
query(boolean encoded,
String name,
String... values)
Replaces queries with the specified
name with the values supplied. |
RequestTemplate |
query(String name,
Iterable<String> values)
Shortcut for
query(false, String, Iterable<String>) |
RequestTemplate |
query(String name,
String... values)
Shortcut for
query(false, String, String...) |
String |
queryLine() |
void |
replaceQueryValues(Map<String,?> unencoded)
replaceQueryValues(Map, Map) , which assumes no parameter is encoded |
Request |
request() |
RequestTemplate |
resolve(Map<String,?> unencoded)
resolve(Map, Map) , which assumes no parameter is encoded |
String |
toString() |
String |
url() |
public RequestTemplate()
public RequestTemplate(RequestTemplate toCopy)
public static String expand(String template, Map<String,?> variables)
template
, such as username
, using the variables
supplied. Any
unresolved parameters will remain. template
, urlencode them first.template
- URI template that can be in level 1
RFC6570 form.variables
- to the URI templatepublic RequestTemplate resolve(Map<String,?> unencoded)
resolve(Map, Map)
, which assumes no parameter is encodedpublic Request request()
public RequestTemplate method(String method)
public String method()
public RequestTemplate decodeSlash(boolean decodeSlash)
public boolean decodeSlash()
public RequestTemplate collectionFormat(CollectionFormat collectionFormat)
public CollectionFormat collectionFormat()
public RequestTemplate append(CharSequence value)
public RequestTemplate insert(int pos, CharSequence value)
public String url()
public RequestTemplate query(boolean encoded, String name, String... values)
name
with the values
supplied. encoded
parameter. value
is null
, all queries with the configKey
are removed.
WebTarget.query
, except the values can be templatized. template.query("Signature", "{signature}");
template.query(true, "param[]", "value"); template.query(false, "param[]", "value");
encoded
- whether name and values are already url-encodedname
- the name of the queryvalues
- can be a single null to imply removing all values. Else no values are expected to
be null.queries()
public RequestTemplate query(boolean encoded, String name, Iterable<String> values)
public RequestTemplate query(String name, String... values)
query(false, String, String...)
query(boolean, String, String...)
public RequestTemplate query(String name, Iterable<String> values)
query(false, String, Iterable<String>)
query(boolean, String, String...)
public RequestTemplate queries(Map<String,Collection<String>> queries)
WebTarget.queries
, except the values can be templatized. template.queries(ImmutableMultimap.of("Signature", "{signature}"));
queries
- if null, remove all queries. else value to replace all queries with.queries()
public Map<String,Collection<String>> queries()
Request.url()
public RequestTemplate header(String name, String... values)
configKey
with the values
supplied. value
is null
, all headers with the configKey
are removed.
WebTarget.queries
and javax.ws.rs.client.Invocation.Builder.header
, except
the values can be templatized. template.query("X-Application-Version", "{version}");
name
- the name of the headervalues
- can be a single null to imply removing all values. Else no values are expected to
be null.headers()
public RequestTemplate header(String name, Iterable<String> values)
public RequestTemplate headers(Map<String,Collection<String>> headers)
Invocation.Builder.headers(MultivaluedMap)
, except the values can be templatized.
template.headers(mapOf("X-Application-Version", asList("{version}")));
headers
- if null, remove all headers. else value to replace all headers with.headers()
public Map<String,Collection<String>> headers()
Request.headers()
public RequestTemplate body(byte[] bodyData, Charset charset)
Request.body()
public RequestTemplate body(String bodyText)
Request.body()
public Charset charset()
new String(req.body(), req.charset())
to access the body
as a String.public byte[] body()
Request.body()
public RequestTemplate bodyTemplate(String bodyTemplate)
Body
Request.body()
public String bodyTemplate()
Request.body()
,
expand(String, Map)
public void replaceQueryValues(Map<String,?> unencoded)
replaceQueryValues(Map, Map)
, which assumes no parameter is encodedpublic String queryLine()
Copyright © 2012–2018 OpenFeign. All rights reserved.