david dereba
11/20/2023, 3:51 PMfun Application.configureSerialization() {
install(ContentNegotiation) {
json(
contentType = ContentType.Application.Json,
json = Json {
// Json configs
ignoreUnknownKeys = true
isLenient = true
encodeDefaults = true
coerceInputValues = true
serializersModule = SerializersModule {
polymorphic(ApiResponseMessage::class) {
subclass(ApiResponseMessage.SuccessMessage.serializer())
subclass(ApiResponseMessage.ErrorMessage.serializer())
}
}
}
)
but I keep running into this mismatch
Type mismatch.
Required:
KSerializer<TypeVariable(Sub)>
Found:
() → Unit
my sealed classes
@Serializable
sealed class ApiResponseMessage {
@Serializable
data class SuccessMessage<T : Any>(val data: T) : ApiResponseMessage()
@Serializable
data class ErrorMessage(val error: String) : ApiResponseMessage()
}
AdamW
11/20/2023, 5:49 PMpolymorphic(..)
is for openly polymorphic hierarchies. But I’m not sure how this compiles, SuccessMessage.serializer
should require a type serializer 🤔