Retrofit 2.0:无法为 class 创建调用适配器
Retrofit 2.0: Unable to create call adapter for class
我正在使用 Retrofit 2.0-beta1。如何发出简单的同步请求并将 JSON 响应反序列化为 POJO 列表?这是我的界面:
public interface ArticlesAPI {
@GET("/articles")
List<ArticleResource> getArticles();
}
和
public class ArticleResource {
public String id;
public String name;
public Article toArticle() {
return new Article(id, name);
}
}
但我收到此错误:
> Unable to create call adapter for
> java.util.List<com.bla.bla.rest.resources.ArticleResource>
改造构建
Retrofit retrofit = (new Retrofit.Builder()).baseUrl(this.baseUrl).build();
ArticlesAPI api = retrofit.create(ArticlesAPI.class);
根据您发布的代码,您必须从
List<ArticleResource> getArticles();
至
Call<List<ArticleResource>> getArticles();
您可能还想显式调用 addConverterFactory
来设置您要使用的转换器
如果您使用 kotlin
coroutines
并且函数不是 suspend
函数
,也会出现此问题
public interface ArticlesAPI {
@GET("url.../habits/progress/")
suspend fun getHabitsTasks(): BaseResponse<HabitResModel>
}
将 retrofit2 版本更改为 build.gradle 文件中的最新版本
implementation "com.squareup.retrofit2:retrofit:2.9.0"
我正在使用 Retrofit 2.0-beta1。如何发出简单的同步请求并将 JSON 响应反序列化为 POJO 列表?这是我的界面:
public interface ArticlesAPI {
@GET("/articles")
List<ArticleResource> getArticles();
}
和
public class ArticleResource {
public String id;
public String name;
public Article toArticle() {
return new Article(id, name);
}
}
但我收到此错误:
> Unable to create call adapter for > java.util.List<com.bla.bla.rest.resources.ArticleResource>
改造构建
Retrofit retrofit = (new Retrofit.Builder()).baseUrl(this.baseUrl).build();
ArticlesAPI api = retrofit.create(ArticlesAPI.class);
根据您发布的代码,您必须从
List<ArticleResource> getArticles();
至
Call<List<ArticleResource>> getArticles();
您可能还想显式调用 addConverterFactory
来设置您要使用的转换器
如果您使用 kotlin
coroutines
并且函数不是 suspend
函数
public interface ArticlesAPI {
@GET("url.../habits/progress/")
suspend fun getHabitsTasks(): BaseResponse<HabitResModel>
}
将 retrofit2 版本更改为 build.gradle 文件中的最新版本
implementation "com.squareup.retrofit2:retrofit:2.9.0"