我有来自PHP的带有参数的硬请求 &filter [type] = 1&filter [id] = 2 但我不明白如何转换这些参数?哦
答案 0 :(得分:0)
我决定使用QueryMap
来写答案,因为我认为这是一个可行的解决方案,而且这也是我一直在使用的解决方案。
改良版有一个名为@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
是您的api的Retrofit代理的一个实例
将会发生的是,Retrofit将根据需要序列化查询参数。