(Дооснащение) не удалось найти конвертер для класса сбой приложения
So 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.
5 ответов:
я столкнулся с той же проблемой. Я исправил это, добавив :
compile 'com.squareup.retrofit2:converter-gson:<latest-version>'
в моей сборке.gradle
затем укажите конвертер при создании моего экземпляра 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: самое большое обновление
а также обновить сборку.градля.
изменить версию дооснащения соответственно
для меня ниже зависимость была уже
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();
для дооснащения 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();
надеюсь, что это поможет :)
в последней модификации 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'
будьте осторожны call
baseUrl()
,в v2. 0,это должно быть конец "/",и в методе ,вы не начнете THR url с"/"@POST("classes/info") Call<ContactBean> insertInfo(@Body ContactBean bean);
и видим модернизация чтобы получить больше информации! Надеюсь, что поможет !