chanjungskim
02/27/2023, 5:57 AMCaused by: kotlinx.serialization.SerializationException: Serializer for class 'Result' is not found.
Mark the class as @Serializable or provide the serializer explicitly.
at kotlinx.serialization.internal.PlatformKt.serializerNotRegistered(Platform.kt:32)
at kotlinx.serialization.SerializersKt__SerializersJvmKt.serializer(SerializersJvm.kt:60)
at kotlinx.serialization.SerializersKt.serializer(Unknown Source:1)
at com.jakewharton.retrofit2.converter.kotlinx.serialization.Serializer.serializer(Serializer.kt:24)
at com.jakewharton.retrofit2.converter.kotlinx.serialization.Factory.responseBodyConverter(Factory.kt:28)
at retrofit2.Retrofit.nextResponseBodyConverter(Retrofit.java:362)
at retrofit2.Retrofit.responseBodyConverter(Retrofit.java:345)
at retrofit2.HttpServiceMethod.createResponseConverter(HttpServiceMethod.java:124)
... 90 more
Is there any problem?...
val serializationJson = Json {
useAlternativeNames = true
isLenient = true
ignoreUnknownKeys = true
}
return Retrofit.Builder()
.baseUrl(baseUrl)
.client(client.build())
.addCallAdapterFactory(CoroutineCallAdapterFactory())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(serializationJson.asConverterFactory("application/json".toMediaType()))
.build()
Chrimaeon
02/27/2023, 8:20 AMResult
class? Did you add the Annotation as spotted in the error report?chanjungskim
02/27/2023, 8:22 AMimport kotlinx.serialization.Serializable
@Serializable
data class ManagerLoginResponseBody(
val id: Int,
val kiosk: String, // will be removed
val created: String? = null,
val modified: String? = null,
val name: String,
val mobile: String,
val role: String,
val branch: BranchModel,
val token: String
)
Chrimaeon
02/27/2023, 8:23 AMResult
class Form the error.chanjungskim
02/27/2023, 8:23 AM@SinceKotlin("1.3")
@JvmInline
public value class Result<out T> @PublishedApi internal constructor(
@PublishedApi
internal val value: Any?
) : Serializable {
//
}
Chrimaeon
02/27/2023, 8:24 AMchanjungskim
02/27/2023, 8:27 AM.addConverterFactory(serializationJson.asConverterFactory("application/json".toMediaType()))
Chrimaeon
02/27/2023, 8:27 AMchanjungskim
02/27/2023, 8:28 AMJson.encodeToString
this one..?Chrimaeon
02/27/2023, 3:23 PM