From c5213e3b5e3b5501bd081bd565162a9f8f40a4a5 Mon Sep 17 00:00:00 2001 From: Reinhard-PTV <77726540+Reinhard-PTV@users.noreply.github.com> Date: Thu, 24 Feb 2022 06:21:59 +0100 Subject: [PATCH] Support arrays within deepobjects (#11699) --- .../src/main/resources/Java/libraries/native/api.mustache | 5 +++++ .../openapitools/codegen/java/JavaClientDeepObjectTest.java | 2 +- .../openapi-generator/src/test/resources/3_0/deepobject.yaml | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache index d4891d1cd6b1..c507f54fda09 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache @@ -313,7 +313,12 @@ public class {{classname}} { {{#isDeepObject}} if ({{paramName}} != null) { {{#items.vars}} + {{#isArray}} + localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "{{baseName}}", {{paramName}}.{{getter}}())); + {{/isArray}} + {{^isArray}} localVarQueryParams.addAll(ApiClient.parameterToPairs("{{baseName}}", {{paramName}}.{{getter}}())); + {{/isArray}} {{/items.vars}} } {{/isDeepObject}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java index 85ecf945c8f6..ec3908435d63 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java @@ -58,6 +58,6 @@ public void deepObject() throws IOException { generator.opts(input).generate(); assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/api/DefaultApi.java"), - "options[a]", "options[b]"); + "options[a]", "options[b]", "\"csv\", \"options[c]\""); } } diff --git a/modules/openapi-generator/src/test/resources/3_0/deepobject.yaml b/modules/openapi-generator/src/test/resources/3_0/deepobject.yaml index 97db24f9fd32..4fcac02b6dbb 100644 --- a/modules/openapi-generator/src/test/resources/3_0/deepobject.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/deepobject.yaml @@ -34,3 +34,7 @@ components: type: string nullable: true format: date-time + c: + type: array + items: + type: string