Android 使用QueryMap进行改造

Android 使用QueryMap进行改造,android,retrofit2,Android,Retrofit2,我有一些端点相同的请求,但参数和返回类型不同 我对参数使用了@QueryMap,但我不知道如何编写返回类型: 我必须写: @GET("xxx") Call<List<A1>> groupList1(@QueryMap Map<String, String> options); @GET("xxx") Call<List<A2>> groupList2(@QueryMap Map<String, String> options

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

我对参数使用了
@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);
....
@GET(“xxx”)
调用groupList1(@QueryMap-options);
@获取(“xxx”)
调用groupList2(@QueryMap-options);
@获取(“xxx”)
调用groupList3(@QueryMap-options);
....

或者有一个更短的解决方案?

您可以使用
JsonElement
响应类型

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

如果以不同的方式命名这些方法并调用这些端点,会发生什么情况?该解决方案将起作用,但它们只会有不同的参数和返回类型。我能有一个更好、更短的解决方案吗?我看不出有什么问题。如果要创建单个端点,则必须按需解析数据,这将使代码更加复杂。
public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
      JsonElement jsonElement = response.body();
      //JsonArray array = jsonElement.getAsJsonArray();
      //JsonObject Obj = jsonElement .getAsJsonObject();
}