From c66c49b5a4a037c8e766c266aa92aae6e409c7fb Mon Sep 17 00:00:00 2001 From: nsimonides Date: Sat, 11 Jan 2025 10:23:50 +0100 Subject: [PATCH] Delegation doesn't work in this case --- .../examples/openapi/app/WirespecConfiguration.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/maven-spring-convert/src/main/kotlin/community/flock/wirespec/examples/openapi/app/WirespecConfiguration.kt b/examples/maven-spring-convert/src/main/kotlin/community/flock/wirespec/examples/openapi/app/WirespecConfiguration.kt index a5f65818..c8ba3af1 100644 --- a/examples/maven-spring-convert/src/main/kotlin/community/flock/wirespec/examples/openapi/app/WirespecConfiguration.kt +++ b/examples/maven-spring-convert/src/main/kotlin/community/flock/wirespec/examples/openapi/app/WirespecConfiguration.kt @@ -16,12 +16,20 @@ import kotlin.reflect.javaType */ @Component @OptIn(ExperimentalStdlibApi::class) -class Serialization(private val objectMapper: ObjectMapper) - : Wirespec.Serialization, Wirespec.ParamSerialization by DefaultParamSerialization() { +class Serialization(private val objectMapper: ObjectMapper) : + Wirespec.Serialization { + + private val defaultParamSerialization = DefaultParamSerialization() override fun serialize(t: T, kType: KType): String = objectMapper.writeValueAsString(t) override fun deserialize(raw: String, kType: KType): T = objectMapper .constructType(kType.javaType) .let { objectMapper.readValue(raw, it) } + + override fun serializeParam(value: T, kType: KType): List = + defaultParamSerialization.serializeParam(value, kType) + + override fun deserializeParam(values: List, kType: KType): T = + defaultParamSerialization.deserializeParam(values, kType) }