Как преобразовать параметр filter [smth] = 1 в модификацию - PullRequest
0 голосов
/ 17 марта 2019

У меня сложный запрос от php с параметрами & filter [type] = 1 & filter [id] = 2, но я не понимаю, как я могу преобразовать такие параметры?Оо

1 Ответ

0 голосов
/ 19 марта 2019

Я решил написать ответ, используя QueryMap, потому что я думаю, что это жизнеспособное решение, и я им пользуюсь.

Retrofit имеет аннотацию под названием @ QueryMap ,Как следует из названия, это позволит вам передать карту Java, которая будет сериализована как параметры запроса.Я думаю, что это может быть использовано в вашем примере.Представьте себе следующий интерфейс Retrofit:

interface MyApi {
  @GET(SOME_PATH)
  Call<MyModel> get(@QueryMap Map<String, String> parameters);
}

Теперь мы можем назвать его так:

HashMap parameters = new HashMap();
parameters.put("filter[type]", "1");
parameters.put("filter[id]", "2");
myApi.get(parameters);

Здесь myApi является экземпляром прокси Retrofit.для вашего API

То, что произойдет, это то, что Retrofit будет сериализовать параметры запроса, как вы хотите.

...