改造响应在Android Studio中返回null

时间:2020-05-31 23:46:40

标签: java android json api retrofit2

我想从coinbase API获取实时数据。我正在使用Retrofit进行API调用,当我尝试返回显示数据时得到了空响应

api的json响应 JSON

{"data":{"base":"BTC","currency":"USD","amount":"9510.915"}}

返回数据的改造类 RETROFIT

 myC2C = RetrofitClient.getInstance("https://api.coinbase.com/v2/prices/").create(IMyC2C.class);
       
 Call<DataList> call = myC2C.getPrice("USD");

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

                if (!response.isSuccessful()){
                    usd_price.setText("Code: " + response.code());
                    return;
                }
                
                 Log.d("resedatasync", new Gson().toJson(response.body().getDatas()));
                
            }

            @Override
            public void onFailure(Call<DataList> call, Throwable t) {
                usd_price.setText(t.getMessage());
            }

调用get方法并解析货币类型的端点 ENDPOINT

@GET("spot")
    Call<DataList> getPrice(@Query("currency") String currency);

此处的Java模型类 ** JAVA CLASS

import java.util.List;

public class DataList {
    private Datas Datas;

    public Datas getDatas() {
        return Datas;
    }

    public void setDatas(Datas datas) {
        this.Datas = datas;
    }
}
package com.example.c2c.Model;

public class Datas {

    private String base;
    private String currency;
    private float amount;

    public String getBase() {
        return base;
    }

    public void setBase(String base) {
        this.base = base;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public float getAmount() {
        return amount;
    }

    public void setAmount(float amount) {
        this.amount = amount;
    }

}

**

0 个答案:

没有答案