forked from loafle/openapi-generator-original
Fix list in kotlin client templates (#18891)
* fix list in kotlin client templates * remove java syntax in kotlin template * fix array check
This commit is contained in:
@@ -107,22 +107,20 @@ import java.io.IOException
|
||||
{{^vendorExtensions.x-duplicated-data-type}}
|
||||
// check if the actual instance is of the type `{{{dataType}}}`
|
||||
if (value.actualInstance is {{#isArray}}List<*>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) {
|
||||
{{#isPrimitiveType}}
|
||||
val primitive = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonPrimitive()
|
||||
elementAdapter.write(out, primitive)
|
||||
return
|
||||
{{/isPrimitiveType}}
|
||||
{{^isPrimitiveType}}
|
||||
{{#isArray}}
|
||||
List<?> list = (List<?>) value.actualInstance
|
||||
val list = value.actualInstance as List<Any>
|
||||
if (list.get(0) is {{{items.dataType}}}) {
|
||||
val array = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonArray()
|
||||
elementAdapter.write(out, array)
|
||||
return
|
||||
}
|
||||
{{/isArray}}
|
||||
{{/isPrimitiveType}}
|
||||
{{^isArray}}
|
||||
{{#isPrimitiveType}}
|
||||
val primitive = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonPrimitive()
|
||||
elementAdapter.write(out, primitive)
|
||||
return
|
||||
{{/isPrimitiveType}}
|
||||
{{^isPrimitiveType}}
|
||||
val element = adapter{{{dataType}}}.toJsonTree(value.actualInstance as {{{dataType}}}?)
|
||||
elementAdapter.write(out, element)
|
||||
|
||||
@@ -246,10 +246,10 @@ import {{packageName}}.infrastructure.ITransformForStorage
|
||||
{{#required}}
|
||||
// ensure the json data is an array
|
||||
if (!jsonObj.get("{{{baseName}}}").isJsonArray) {
|
||||
throw new IllegalArgumentException(String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString()))
|
||||
throw IllegalArgumentException(String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString()))
|
||||
}
|
||||
|
||||
JsonArray jsonArray{{name}} = jsonObj.getAsJsonArray("{{{baseName}}}")
|
||||
val jsonArray{{name}} = jsonObj.getAsJsonArray("{{{baseName}}}")
|
||||
// validate the required field `{{{baseName}}}` (array)
|
||||
for (i in 0 until jsonArray{{name}}.size()) {
|
||||
{{{items.dataType}}}.validateJsonElement(jsonArray{{name}}.get(i))
|
||||
|
||||
@@ -107,22 +107,20 @@ import java.io.IOException
|
||||
{{^vendorExtensions.x-duplicated-data-type}}
|
||||
// check if the actual instance is of the type `{{{dataType}}}`
|
||||
if (value.actualInstance is {{#isArray}}List<*>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) {
|
||||
{{#isPrimitiveType}}
|
||||
val primitive = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonPrimitive()
|
||||
elementAdapter.write(out, primitive)
|
||||
return
|
||||
{{/isPrimitiveType}}
|
||||
{{^isPrimitiveType}}
|
||||
{{#isArray}}
|
||||
List<?> list = (List<?>) value.actualInstance
|
||||
val list = value.actualInstance as List<Any>
|
||||
if (list.get(0) is {{{items.dataType}}}) {
|
||||
val array = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonArray()
|
||||
elementAdapter.write(out, array)
|
||||
return
|
||||
}
|
||||
{{/isArray}}
|
||||
{{/isPrimitiveType}}
|
||||
{{^isArray}}
|
||||
{{#isPrimitiveType}}
|
||||
val primitive = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonPrimitive()
|
||||
elementAdapter.write(out, primitive)
|
||||
return
|
||||
{{/isPrimitiveType}}
|
||||
{{^isPrimitiveType}}
|
||||
val element = adapter{{{dataType}}}.toJsonTree(value.actualInstance as {{{dataType}}}?)
|
||||
elementAdapter.write(out, element)
|
||||
|
||||
@@ -73,9 +73,12 @@ data class ApiAnyOfUserOrPetOrArrayString(var actualInstance: Any? = null) {
|
||||
}
|
||||
// check if the actual instance is of the type `kotlin.collections.List<kotlin.String>`
|
||||
if (value.actualInstance is List<*>) {
|
||||
val primitive = adapterkotlincollectionsListkotlinString.toJsonTree(value.actualInstance as kotlin.collections.List<kotlin.String>?).getAsJsonPrimitive()
|
||||
elementAdapter.write(out, primitive)
|
||||
return
|
||||
val list = value.actualInstance as List<Any>
|
||||
if (list.get(0) is kotlin.String) {
|
||||
val array = adapterkotlincollectionsListkotlinString.toJsonTree(value.actualInstance as kotlin.collections.List<kotlin.String>?).getAsJsonArray()
|
||||
elementAdapter.write(out, array)
|
||||
return
|
||||
}
|
||||
}
|
||||
throw IOException("Failed to serialize as the type doesn't match anyOf schemas: ApiPet, ApiUser, kotlin.collections.List<kotlin.String>")
|
||||
}
|
||||
|
||||
@@ -73,9 +73,12 @@ data class ApiUserOrPetOrArrayString(var actualInstance: Any? = null) {
|
||||
}
|
||||
// check if the actual instance is of the type `kotlin.collections.List<kotlin.String>`
|
||||
if (value.actualInstance is List<*>) {
|
||||
val primitive = adapterkotlincollectionsListkotlinString.toJsonTree(value.actualInstance as kotlin.collections.List<kotlin.String>?).getAsJsonPrimitive()
|
||||
elementAdapter.write(out, primitive)
|
||||
return
|
||||
val list = value.actualInstance as List<Any>
|
||||
if (list.get(0) is kotlin.String) {
|
||||
val array = adapterkotlincollectionsListkotlinString.toJsonTree(value.actualInstance as kotlin.collections.List<kotlin.String>?).getAsJsonArray()
|
||||
elementAdapter.write(out, array)
|
||||
return
|
||||
}
|
||||
}
|
||||
throw IOException("Failed to serialize as the type doesn't match oneOf schemas: ApiPet, ApiUser, kotlin.collections.List<kotlin.String>")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user