(Дооснащение) не удалось найти конвертер для класса сбой приложения


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 66

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);

и видим модернизация чтобы получить больше информации! Надеюсь, что поможет !