【发布时间】:2016-11-26 12:19:57
【问题描述】:
response.body() 不会返回 API 的内容,但会返回:
com.example.senolb.project.Downsized@e4bbc81
这是我的请求界面:
public interface ApiInterface {
@GET("search")
Call<Downsized> getDownsized(@Query("api_key") String key,
@Query("fmt") String format,
@Query("q") String type,
@Query("limit") String limit);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.giphy.com/v1/gifs/")
.addConverterFactory(GsonConverterFactory.create())
.build();
}
这是我的缩小班:
@Generated("org.jsonschema2pojo")
public class Downsized {
@SerializedName("url")
@Expose
private String url;
@SerializedName("width")
@Expose
private String width;
@SerializedName("height")
@Expose
private String height;
@SerializedName("size")
@Expose
private String size;
// getter and setter methods below
这是我在主页上的请求功能,当我按下按钮时触发:
public void request(View view) throws IOException {
ApiInterface service = ApiInterface.retrofit.create(ApiInterface.class);
Call<Downsized> myDownsized = service.getDownsized("dc6zaTOxFJmzC","json","funny","1");
myDownsized.enqueue(new Callback<Downsized>() {
@Override
public void onResponse(Call<Downsized> call, Response<Downsized> response) {
if (response.isSuccessful()) {
TextView text2 = (TextView) findViewById(R.id.first_text);
Downsized dw = response.body();
text2.setText(dw.getHeight());
} else {
//unsuccessful response
}
}
@Override
public void onFailure(Call<Downsized> call, Throwable t) {
//failed response
}
});
我该怎么办?
【问题讨论】:
-
您能否确认您的 api 确实有效,并且它使用浏览器 HTTP 客户端扩展返回实际数据?
标签: android api null gson retrofit