【问题标题】:Response true but data is not fetching all Retrofit响应为真,但数据未获取所有改造
【发布时间】:2022-01-21 10:08:02
【问题描述】:

我在使用改造获取数据时遇到问题,我通常使用 jsonschema2pojo 来创建对象。首先我完全没有问题。但是在跟踪导致数据空的原因之后,response.body() 没有获取完整数据,但其中一些被调用。通过互联网搜索后,我得到的答案是对象类与响应不匹配,但我根本不知道什么是平均匹配。

这是我的对象类

public class KunjunganOutlet {

    @SerializedName("status")
    @Expose
    private Boolean status;
    @SerializedName("message")
    @Expose
    private String message;
    @SerializedName("info")
    @Expose
    private Object info;
    @SerializedName("data")
    @Expose
    private List<Data> data = null;

// and some getter setter

还有Data

public class Data {

        @SerializedName("id")
        @Expose
        private String id;
        @SerializedName("nama")
        @Expose
        private String nama;
        @SerializedName("jenis")
        @Expose
        private String jenis;
        @SerializedName("alamat")
        @Expose
        private String alamat;
        @SerializedName("tlp")
        @Expose
        private String tlp;

// and some getter setter

这是我来自 API 的数据

{
    "status": true,
    "message": "Successfully",
    "info": null,
    "data": [
        {
            "id": "47760",
            "nama": "BKKBN Provinsi Aceh",
            "jenis": "KLDI",
            "alamat": "jl.t.nyak arief no 101 banda aceh\r\n",
            "tlp": ""
        },
        {
            "id": "47784",
            "nama": "Dinkes Aceh Selatan",
            "jenis": "Dinas Kesehatan",
            "alamat": "Jl. Teungku Raja Angkasah Tapaktuan Telp. 0656-21829\r\n",
            "tlp": ""
        }
    ]
}

结果只有从数据中得到的id

onResponse: {"data":[{"id":"5287"},{"id":"5185"}],"message":"Successfully","status":true}

更新 几次尝试后才打错电话

【问题讨论】:

  • 检查您的服务器发送给您的内容,您还可以记录改造的请求和响应,这将使您清楚地了解移动设备收到的响应。 stackoverflow.com/questions/21886313/…
  • {"status":true,"message":"Successfully","info":null,"data":[{"id":"5287","nama_produk":"ABN ANTISEPTIC"},{"id":"5185","nama_produk":"FRESCO HAND RUB 5000ML"}]} 仅此
  • 为什么"alamat","jenis","tlp" 不发送?我的代码有什么问题吗?
  • 如果服务器没有发送你需要的数据,那是api的问题吧?不确定您想如何在 android 上解决此问题,如果您希望 api 向您发送值 Hello world 并且它只发送 Hello,那么您在应用程序中所做的任何事情都不会改变这一点。在解析之前查看从服务器获得的响应。如果原始 json 中缺少字段,那么这不是 android 问题,或者您发出请求的方式不正确,但我们无法知道
  • 我太笨了,请求错误.. 休息了一下。我终于从日志 okhttp 中得到了调用/product 而不是/outlet 该死的花了一个小时才注意到..

标签: android retrofit


【解决方案1】:

第一次调用错误,在记录几个小时后,检查 API 和代码。我从okhttp检查日志后才意识到,请求路径是/product而不是/outlet

【讨论】:

    猜你喜欢
    • 2021-03-17
    • 2019-08-23
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    相关资源
    最近更新 更多