基于有效负载和查询参数,相同的终结点可以使用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);
}
我们如何处理呢?