A template parameter that can be applied to a Map that contains query
parameters, where the keys are Strings that are the parameter names and the
values are the parameter values. The queries specified by the map will be
applied to the request after all other processing, and will take precedence
over any previously specified query parameters. It is not necessary to
reference the parameter map as a variable.
...
@RequestLine("POST /servers")
void servers(@QueryMap Map);
...
@RequestLine("GET /servers/{serverId}?count={count}")
void get(@Param("serverId") String serverId, @Param("count") int count, @QueryMap Map);
...
The annotated parameter must be an instance of
Map, and the keys must
be Strings. The query value of a key will be the value of its toString
method, except in the following cases:
- if the value is null, the value will remain null (rather than converting
to the String "null")
- if the value is an
Iterable, it is converted to a List of
String objects where each value in the list is either null if the original
value was null or the value's toString representation otherwise.
Once this conversion is applied, the query keys and resulting String values
follow the same contract as if they were set using
RequestTemplate.query(String, String...).