Сериализатор сериализации Kotlin для ReamList и List - PullRequest
0 голосов
/ 28 октября 2019

Я просто попытался использовать библиотеку сериализации Kotlin для замены Gson, но у меня возникли проблемы с использованием ее для RealmList в моей модели. Любая помощь будет оценена. Я получаю сообщение об ошибке kotlinx.serialization.SerializationException: Can't locate argument-less serializer for class io.realm.RealmList

У меня есть мой класс данных, подобный этому

data class Person(
var name: String = "", 
var social : RealmList<Social> = null, 
var id: String = "") 

, и мой класс социальных данных

data class Social(
var name: String = "", 
var category : String = "", 
var id: String = "")

, и это мой модернизированный строитель

fun provideRetrofit(okHttpClient: OkHttpClient, urlProvider :
    URLProvider): Retrofit {
    val contentType = MediaType.get("application/json")
    return Retrofit.Builder()
        .baseUrl(urlProvider.getApiBaseUrl()!!)
        .addConverterFactory(Json.asConverterFactory(contentType))
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .client(okHttpClient)
        .build()
}

Я использую адаптер дооснащения, специфичный для сериализации Kotlin, и мой вызов по модернизации

override fun loadPersons(): Single<Person> {
    return communicationContext.personApi
        .getPersonsObservable()
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .doOnError {
            Log.e(TAG, "Load error $it")
        }
        .doOnSuccess {
            Log.e(TAG, "Success size ${it.size}")
        }
}
...