2017-07-27 39 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);