Retrofit 2.0:无法为类创建调用适配器

时间:2015-10-20 15:26:30

标签: android json retrofit

我正在使用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);

3 个答案:

答案 0 :(得分:14)

如果您使用kotlin coroutines并且该功能不是suspend函数

,也会发生此问题。
public interface ArticlesAPI {
 @GET("url.../habits/progress/")
    suspend fun getHabitsTasks(): BaseResponse<HabitResModel>
}

答案 1 :(得分:5)

根据您发布的代码,您必须从

更改

List<ArticleResource> getArticles();

Call<List<ArticleResource>> getArticles();

您可能还想明确调用addConverterFactory来设置您要使用的转换器

答案 2 :(得分:0)

将retrofit2版本更改为build.gradle文件中的最新版本

implementation "com.squareup.retrofit2:retrofit:2.9.0"