使用Retrofit调用对同一端点处理jsonObject和jsonArray响应

时间:2018-12-10 17:40:21

标签: java json api retrofit2

基于有效负载和查询参数,相同的终结点可以使用JsonObject(如果返回单个对象)或JsonArray(如果返回多个对象)进行响应。如何用同一方法处理呢?可以在改装时使用自定义转换器吗?

改装服务方法:

Call<Response> getData(@Path("token") String token, @FieldMap Map<String, Object> request);

在这里, Response 可以是JsonObject或JsonArray。

从另一种方法调用:

public <?> getResponseFromApi(String token, RequestBody request) {
    Retrofit retrofit = this.requestApi.getRetrofitObject();
    ApiService service = retrofit.create(ApiService.class);
    Map<String, Object> map = objectMapper.convertValue(request, Map.class);
    Call<?> call = service.getData(token,map);
    return executeApiCall.executeApiCall(call);
}

我们如何处理呢?

0 个答案:

没有答案