2017-07-27 67 views
0

我需要在插入硬编码查询后设置查询。Retrofit - 在插入硬编码查询后附加动态查询

我的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); 

我该怎么办呢?

回答

2

使用下面的代码来使其具有通用性,您可以根据需要传递许多参数。

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);