请求失败,又不知道什么原因,该怎么解决
private void getData() {
String baseUrl1 = "http://demo.wp-api.org/";
Retrofit retrofit1 = new Retrofit.Builder()
.baseUrl(baseUrl1)
.addConverterFactory(GsonConverterFactory.create())
.build();
ArticleaaApi articleaaApi=retrofit1.create(ArticleaaApi.class);
Call<ArticleBean> articleBeanCall = articleaaApi.getArticle();
articleBeanCall.enqueue(new Callback<ArticleBean>() {
@Override
public void onResponse(Call<ArticleBean> call, Response<ArticleBean> response) {
System.out.println("S");
}
@Override
public void onFailure(Call<ArticleBean> call, Throwable t) {
System.out.println("F");
}
});
}
API :
public interface ArticleaaApi {
@GET("wp-json/wp/v2/posts")
Call<ArticleBean> getArticle();
}
感谢各位,找到异常了:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
对于这种带数组的 json 数据该怎么用 Gson 解析呢? http://demo.wp-api.org/wp-json/wp/v2/posts
搞定了,谢谢大家! 有时候就是这样子,这么明显的错误自己就是没有看出来。
public interface ArticleaaApi {
@GET("wp-json/wp/v2/posts")
Call<List<ArticleBean>> getArticle();
}
1
kamikat 2016-08-31 11:34:49 +08:00
Log.e("F", t);
|
2
sjn9588 2016-08-31 11:51:30 +08:00
t.getMessage()
|
3
Override 2016-08-31 12:12:35 +08:00
我仿佛又听到有人在背后偷偷 @我
|
4
sunus 2016-08-31 13:03:02 +08:00
直接 attach retrofit 源码打断点呗
|
5
baozijun 2016-08-31 14:28:10 +08:00
gson 不能转换,可能是你的 bean 有问题,或者返回的信息解析成功,把 response 信息打印出来看一下。
|
6
zarvin 2016-08-31 15:12:21 +08:00
给 bean 套一个 list
|
7
jinhan13789991 2016-08-31 15:23:29 +08:00
就正常的 List<Data> 啊, gson 有自动获取 type 树,然后转化的
|
8
x9498 2016-09-01 18:01:15 +08:00
daibi
|