使用QueryMap进行改造 [英] Retrofit with QueryMap

查看:57
本文介绍了使用QueryMap进行改造的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些具有相同终结点的请求,但参数和返回类型不同。

我为参数使用了@QueryMap,但我不知道如何编写返回类型:

我必须写:

@GET("xxx")
Call<List<A1>> groupList1(@QueryMap Map<String, String> options);
@GET("xxx")
Call<List<A2>> groupList2(@QueryMap Map<String, String> options);
@GET("xxx")
Call<List<A3>> groupList3(@QueryMap Map<String, String> options);
....

还是有更短的解决方案?

推荐答案

您可以使用JsonElement响应类型

 @GET("xxx")
    Call<JsonElement> groupList(@QueryMap Map<String, String> options);

您将收到的每个呼叫JsonElement,您可以将其转换为JsonObjectJsonArray,甚至String。您可以根据您的内容对其进行解析/取消具体化

public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
      JsonElement jsonElement = response.body();
      //JsonArray array = jsonElement.getAsJsonArray();
      //JsonObject Obj = jsonElement .getAsJsonObject();
}

这篇关于使用QueryMap进行改造的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆