android - 在 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) {
解决方案
采用
@POST
Call<JSONObject> networkUtilityJsonArrayPostCall(
@Url String url,
@Body JsonArray jsonArray);
而不是下面的方法
@POST
Call<JsonArray> networkUtilityJsonArrayPostCall(
@Url String url,
@Body JsonArray jsonArray);
并替换各自继承的方法
推荐阅读
- python - 在 Python 中向 SQL 添加引号时出现问题
- javascript - 有没有办法使用原生应用程序中的 startActivityForResult 从我开发到 Android 的 PWA 中取回结果?
- .net-core - 为什么需要在依赖项目中添加Nuget包才能执行?
- python - df.drop()操作后火花数据框不删除列
- java - 如何在 Maven 项目中使用 OpenCV 构建(opencv 和 opencv_contrib)
- entity-framework - 具有一对多的基类的 EntityTypeConfiguration
- java - 如何将 SPARQL 查询结果导出到 csv?
- python - 从 CSV 导入时间序列并使用 Python 绘制图表的最佳方法
- angular - 使用任务计划程序运行 Protractor e2e 测试脚本 – Windows 10
- monitoring - StackDriver 监控的 Prometheus 指标