我需要在插入硬编码查询后设置查询。
我的API地址是:
myapiaddress/names?q=Yoni&gender=Man&(here i need to enter dynamic queries)
我的API调用:
@GET("names")
Call<List<Integer>> searchNames(
@Query("q") String q,
@Query("gender") Gender gender);
我该怎么办?
答案 0 :(得分:3)
使用以下代码使其成为通用代码,您可以根据需要传递任意数量的参数。
public interface LoadDataService {
@GET
Call<List<Integer>> searchNames(@Url String url, @QueryMap Map<String, String> options);
}
APIs.LoadDataService service = retrofit.create(APIs.LoadDataService.class);
Map<String, String> parameters = new HashMap<>();
parameters.put("name","q");
parameters.put("gender","Male");
Call<List<Integer>> call = service.searchNames(APIs.GET_NAMES, parameters);