繁体   English   中英

改造API调用返回空对象

[英]Retrofit API call returns empty object

这是我的课程,我正在使用它们来进行REST API调用。 产品,产品,端点ZappoAPI。 从控制器调用方法callRestAPI,其中异步调用rest api。 我得到的答复是空的清单。

public class Product {
    private String productId;

    public Product(String productId) {
        this.productId = productId;
    }


    public String getBrandName() {
        return productId;
    }

    public void setBrandName(String productId) {
        this.productId = productId;
    }

    @Override
    public String toString() {
        return(productId);
    }
}



public class Products {
    List<Product> products  = new ArrayList<>();
    public List<Product> getProducts() {
        return products;
    }
}



public interface ZappoAPI {
    @GET("/Search")
    Call<ZappoProducts> searchProducts(@Query("term") String tags, @Query("key") String key);

}

公共无效的callRestAPI(){

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("https://api.zappos.com")
        .addConverterFactory(GsonConverterFactory.create())
        .build();




// prepare call in Retrofit 2.0
ZappoAPI zappoAPI = retrofit.create(ZappoAPI.class);

Call<ZappoProducts> call = zappoAPI.searchProducts(this.prodName, IConstant.API_KEY);
//asynchronous call
call.enqueue(this);

String url = call.request().url().toString();

Log.d("url is",url);
Log.d("url is",url);

}

on callback method -

public void onResponse(Call<ZappoProducts> call, Response<ZappoProducts> response) {

        boolean isSuccess = response.raw().isSuccessful();
        List<Product> products = new ArrayList<>();

        if(isSuccess){
            products = response.body().getProducts();
        }


        String[] values = new String[products.size()];


        for (int i=0;i<products.size();i++){
            values[i] = products.get(i).toString();
        }

        ArrayAdapter<String> adapter = (ArrayAdapter<String>) this.adapter;
        adapter.clear();
        adapter.addAll(values);



    }

现在,响应时,我得到的产品清单是空的。 知道如何解决吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM