Retrofit error URL query string must not have replace block
android, get, java, retrofit
Solution
Query params have their own annotation which automatically appends to the URL.
@GET("/users?filters[0][operator]=equals")
UserDto retrieveUsersByFilters(
@Query("filters[0][field]") String nameFilter,
@Query("filters[0][value]") String value);
You can read more about `@Query` on its Javadoc
Problem
I have this function ``` @GET("/users?filters[0][field]={param}&filters[0][operator]=equals&filters[0][value]={value}") UserDto retrieveUsersByFilters(@Path("param") String nameFilter, @Path("value") String value); ``` I try to call it like this : ``` UserDto currentUser = interfaceUser.retrieveUsersByFilters(User.LOGIN, login); ``` But i have error : retrofit.RetrofitError: InterfaceUser.retrieveUsersByFilters: URL query string "filters[0][field]={param}&filters[0][operator]=equals&filters[0][value]={value}" must not have replace block. I already test url on firefox and it work fine. Thank's for your responses Edit Solution: ``` @GET("/users?filters[0][operator]=equals") UserDto retrieveUsersByFilters( @Query("filters[0][field]") String nameFilter, @Query("filters[0][value]") String value); ```