Skip to content

Commit 26609e9

Browse files
authored
fix: register gson CustomTypeAdapterFactory in kotlin-client if generateOneOfAnyOfWrappers enabled (#20217)
1 parent 25d780e commit 26609e9

File tree

2 files changed

+22
-0
lines changed
  • modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure
  • samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure

2 files changed

+22
-0
lines changed

modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,17 @@ import java.util.concurrent.atomic.AtomicLong
9797
.registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
9898
.registerTypeAdapter(LocalDate::class.java, LocalDateAdapter())
9999
.registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter())
100+
{{#generateOneOfAnyOfWrappers}}
101+
{{#models}}
102+
{{#model}}
103+
{{^isEnum}}
104+
{{^hasChildren}}
105+
.registerTypeAdapterFactory({{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory())
106+
{{/hasChildren}}
107+
{{/isEnum}}
108+
{{/model}}
109+
{{/models}}
110+
{{/generateOneOfAnyOfWrappers}}
100111

101112
@JvmStatic
102113
val gson: Gson by lazy {

samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@ object Serializer {
1414
.registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
1515
.registerTypeAdapter(LocalDate::class.java, LocalDateAdapter())
1616
.registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter())
17+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiAnnotation.CustomTypeAdapterFactory())
18+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiAnyOfUserOrPet.CustomTypeAdapterFactory())
19+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiAnyOfUserOrPetOrArrayString.CustomTypeAdapterFactory())
20+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiApiResponse.CustomTypeAdapterFactory())
21+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiCategory.CustomTypeAdapterFactory())
22+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiOrder.CustomTypeAdapterFactory())
23+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiPet.CustomTypeAdapterFactory())
24+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiTag.CustomTypeAdapterFactory())
25+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiUser.CustomTypeAdapterFactory())
26+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPet.CustomTypeAdapterFactory())
27+
.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPetOrArrayString.CustomTypeAdapterFactory())
1728

1829
@JvmStatic
1930
val gson: Gson by lazy {

0 commit comments

Comments
 (0)