(Retrofit)找不到类崩溃应用程序的转换器
所以Retrofit 2.0.0最近发布了,并没有真正的更新如何使用它的例子,但即时通讯试图实现一个基本的API调用。 我得到一个
java.lang.IllegalArgumentException: Unable to create converter for class`
造成的
Caused by: java.lang.IllegalArgumentException: Could not locate converter for class orbyt.app.dataclass. Tried: * retrofit.OkHttpBodyConverterFactory
当试图进行API调用。
我面临同样的问题。 我通过添加以下内容来解决它
compile 'com.squareup.retrofit2:converter-gson:<latest-version>'
到我的build.gradle
然后在创build我的Retrofit实例时指定转换器。
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build();
在Retrofit 2.0中,转换器不包含在软件包中,当您使用Retrofit 2.0时确保遵循新的URL模式
基本url:始终以/
@Url:不要以/
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build();
有关2.0的更多信息,请点击此链接Retrofit 2.0:最大的更新
而且还更新build.gradle。
相应地更改翻新版本
对于我来说,依赖已经在那里了
compile 'com.squareup.retrofit2:retrofit:2.0.2'
对于gson 2.0.2我改变了
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
然后加
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build();
对于Retrofit V2,添加以下储存库 –
compile 'com.squareup.retrofit2:retrofit:2.0.0' compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:converter-gson:2.0.0'
现在使用下面的代码 –
Retrofit retrofit = new Retrofit.Builder() .baseUrl(API_URL) .addConverterFactory(GsonConverterFactory.create()) .build();
希望它会帮助:)
在最新的Retrofit 2.0中,您应该导入最新版本:
compile 'com.squareup.retrofit2:retrofit:2.0.0' compile 'com.squareup.retrofit2:converter-gson:2.0.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
要小心地调用baseUrl()
,在2.0版本,它应该是“/”的结尾,在这个方法,你不会用“/”
@POST("classes/info") Call<ContactBean> insertInfo(@Body ContactBean bean);
你可以看到Retrofit获得更多的信息! 希望有帮助!