我有一些具有相同端点的请求,但参数和返回类型不同。
我使用@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();
}

10-06 11:28