首页 > 解决方案 > 在 JsonObject 中收到响应时,Retrofit 调用 onError 块

问题描述

我需要发送一个JsonArray服务,并接收JsonObject作为回报。

我使用了以下代码。

 @POST
    Call<JsonArray> networkUtilityJsonArrayPostCall(

            @Url String url,
            @Body JsonArray jsonArray);

然后我使用以下代码调用它。

 callJsonArray = api.networkUtilityJsonArrayPostCall(URL, jsonArray)

它接收响应代码200,但不执行onResponse块,因为它期望JsonArray响应。

   callJsonArray.enqueue(new Callback<JsonArray>() {
                @Override
                public void onResponse(Call<JsonArray> call, Response<JsonArray> response) {

标签: androidretrofit2

解决方案


采用

@POST
Call<JSONObject> networkUtilityJsonArrayPostCall(
        @Url String url,
        @Body JsonArray jsonArray);

而不是下面的方法

@POST
Call<JsonArray> networkUtilityJsonArrayPostCall(
        @Url String url,
        @Body JsonArray jsonArray);

并替换各自继承的方法


推荐阅读