@Documented
@Target(value=PARAMETER)
@Retention(value=RUNTIME)
public @interface Query
Values are converted to strings using Retrofit.stringConverter(Type, Annotation[])
(or
Object.toString()
, if no matching string converter is installed) and then URL encoded.
null
values are ignored. Passing a List
or array will result in a
query parameter for each non-null
item.
Simple Example:
@GET("/friends")
Call<ResponseBody> friends(@Query("page") int page);
Calling with foo.friends(1)
yields /friends?page=1
.
Example with null
:
@GET("/friends")
Call<ResponseBody> friends(@Query("group") String group);
Calling with foo.friends(null)
yields /friends
.
Array/Varargs Example:
@GET("/friends")
Call<ResponseBody> friends(@Query("group") String... groups);
Calling with foo.friends("coworker", "bowling")
yields /friends?group=coworker&group=bowling
.
Parameter names and values are URL encoded by default. Specify encoded=true
to change this behavior.
@GET("/friends")
Call<ResponseBody> friends(@Query(value="group", encoded=true) String group);
Calling with foo.friends("foo+bar"))
yields /friends?group=foo+bar
.Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
value
The query parameter name.
|
public abstract boolean encoded