Retrofit - 在插入硬编码查询后附加动态查询

时间:2017-07-27 11:52:43

标签: android retrofit retrofit2

我需要在插入硬编码查询后设置查询。

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

我该怎么办?

1 个答案:

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