Модернизация с kotlin, неспособная создать @Body

Привет, я получаю следующую ошибку:

java.lang.IllegalArgumentException: Unable to create @Body converter for class com.jr.app.models.ExampleData (parameter #1) 

Вот мой примерData.kt

 data class ExampleData(val id: String, val firstName: String, val secondName: String, val profilImages: String, val info: String) { } 

Модернизация интерфейса

 interface UsersService { @GET("/usersProfile") fun getAllUsers(): Call<List<ExampleData>> @POST("/usersProfile") fun addUser(@Body exampleData: ExampleData): Call<ResponseBody> } 

функция, которая добавляетUser

  override fun addUser(user: ExampleData) { val retrofit = Retrofit.Builder().baseUrl(baseUrl).client(httpAuthClient).build(); val userService = retrofit.create(UsersService::class.java); userService.addUser(user).enqueue(callbackResponse); } private val httpAuthClient: OkHttpClient get() { val okHttpClient = OkHttpClient().newBuilder().addInterceptor { chain -> val originalRequest = chain.request() val builder = originalRequest.newBuilder().header(authorizeHeader, Credentials.basic(userName, password)) val newRequest = builder.build() chain.proceed(newRequest) }.build() return okHttpClient } 

Добавьте зависимость градиента к вашему проекту:

 compile 'com.squareup.retrofit2:converter-gson:VERSION_OF_RETROFIT' 

Когда вы создаете экземпляр модификации, добавьте эту строку:

 .addConverterFactory(GsonConverterFactory.create()) 

В вашем проекте здание модифицированного объекта будет выглядеть так:

 val retrofit = Retrofit.Builder() .baseUrl(baseUrl) .client(httpAuthClient) .addConverterFactory(GsonConverterFactory.create()) .build() 

Я считаю, что это не имеет ничего общего с Kotlin, но ваша настройка Retrofit и ваш класс данных ExampleData.

«Модернизация» не знает, как сериализовать ваш экземпляр ExampleData для JSON. Вам нужно добавить конкретную фабрику преобразователя при создании экземпляра клиента Retrofit (подробности см. В Builder#addConverterFactory ).

Intereting Posts
Отключить инкрементную сборку для kapt Классы данных Kotlin содержат открытые функции Проверьте, является ли класс допустимым значением для KParameter Преобразование Any в ArrayList в Котлине, дооснащение Kotlin null от Java Использование Gradle для создания банки с зависимостями с Kotlin-DSL Kotlin: Как я могу получить фактический общий тип T в OneClass <T> во время выполнения Использование нескольких языков JVM в одном проекте Уведомления Android не отображаются на эмуляторе, запущенном API 27 бесконечные последовательности kotlin с функцией итератора Как я могу установить FlexBox.alignItems в flex_end программно? Как найти имя переменной из string-массива в strings.xml filterNotNull в списке Kotlin с общим типом Не удается создать приложение Android (с Kotlin) с Gradle: «comand« java.exe »завершен с ненулевым значением выхода 1» Недопустимые метаданные, полученные в META-INF при компиляции банды Котлин с помощью Gradle