diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache index d95ce940346..dc5d13516b9 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/data_class.mustache @@ -111,7 +111,7 @@ import {{packageName}}.infrastructure.ITransformForStorage */ {{^multiplatform}} {{#kotlinx_serialization}} - {{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{#enumUnknownDefaultCase}}(with = {{classname}}Serializer::class){{/enumUnknownDefaultCase}}{{/serializableModel}} + {{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{#enumUnknownDefaultCase}}(with = {{{nameInPascalCase}}}Serializer::class){{/enumUnknownDefaultCase}}{{/serializableModel}} {{/kotlinx_serialization}} {{#moshi}} @JsonClass(generateAdapter = false) @@ -147,16 +147,16 @@ import {{packageName}}.infrastructure.ITransformForStorage {{#enumUnknownDefaultCase}} internal object {{nameInPascalCase}}Serializer : KSerializer<{{nameInPascalCase}}> { - override val descriptor = {{{dataType}}}.serializer().descriptor + override val descriptor = {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}kotlin.String{{/isContainer}}.serializer().descriptor override fun deserialize(decoder: Decoder): {{nameInPascalCase}} { - val value = decoder.decodeSerializableValue({{{dataType}}}.serializer()) + val value = decoder.decodeSerializableValue({{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}kotlin.String{{/isContainer}}.serializer()) return {{nameInPascalCase}}.values().firstOrNull { it.value == value } ?: {{nameInPascalCase}}.{{#allowableValues}}{{#enumVars}}{{#-last}}{{&name}}{{/-last}}{{/enumVars}}{{/allowableValues}} } override fun serialize(encoder: Encoder, value: {{nameInPascalCase}}) { - encoder.encodeSerializableValue({{{dataType}}}.serializer(), value.value) + encoder.encodeSerializableValue({{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}kotlin.String{{/isContainer}}.serializer(), value.value) } } {{/enumUnknownDefaultCase}} diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt index 930809c6ab3..34b443ec439 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Order.kt @@ -68,7 +68,7 @@ data class Order ( * * Values: placed,approved,delivered,unknown_default_open_api */ - @Serializable(with = OrderSerializer::class) + @Serializable(with = StatusSerializer::class) enum class Status(val value: kotlin.String) { @SerialName(value = "placed") placed("placed"), @SerialName(value = "approved") approved("approved"), diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt index 111a57966c5..96cdd5295ca 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/models/Pet.kt @@ -70,7 +70,7 @@ data class Pet ( * * Values: available,pending,sold,unknown_default_open_api */ - @Serializable(with = PetSerializer::class) + @Serializable(with = StatusSerializer::class) enum class Status(val value: kotlin.String) { @SerialName(value = "available") available("available"), @SerialName(value = "pending") pending("pending"),