diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 06638d134c7..0e580ae31d4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -5071,7 +5071,6 @@ public class DefaultCodegen implements CodegenConfig { properties.entrySet().stream() .map(entry -> { CodegenProperty property = fromProperty(entry.getKey(), entry.getValue(), requiredVarNames.contains(entry.getKey())); - property.baseName = codegenParameter.baseName + "[" + entry.getKey() + "]"; return property; }).collect(Collectors.toList()); } else { 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 e5af481f06c..141d144b701 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 @@ -351,10 +351,10 @@ public class {{classname}} { if ({{paramName}} != null) { {{#items.vars}} {{#isArray}} - localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "{{baseName}}", {{paramName}}.{{getter}}())); + localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "{{paramName}}[{{name}}]", {{paramName}}.{{getter}}())); {{/isArray}} {{^isArray}} - localVarQueryParams.addAll(ApiClient.parameterToPairs("{{baseName}}", {{paramName}}.{{getter}}())); + localVarQueryParams.addAll(ApiClient.parameterToPairs("{{paramName}}[{{name}}]", {{paramName}}.{{getter}}())); {{/isArray}} {{/items.vars}} } diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/api.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/api.mustache index 99d24d2aaa0..2f6c23598d3 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/api.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/api.mustache @@ -333,7 +333,7 @@ namespace {{packageName}}.{{apiPackage}} {{#items.vars}} if ({{paramName}}.{{name}} != null) { - localVarRequestOptions.QueryParameters.Add({{packageName}}.Client.ClientUtils.ParameterToMultiMap("{{collectionFormat}}", "{{baseName}}", {{paramName}}.{{name}})); + localVarRequestOptions.QueryParameters.Add({{packageName}}.Client.ClientUtils.ParameterToMultiMap("{{collectionFormat}}", "{{paramName}}[{{#lambda.camelcase_param}}{{name}}{{/lambda.camelcase_param}}]", {{paramName}}.{{name}})); } {{/items.vars}} {{^items}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpNetCoreClientDeepObjectTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpNetCoreClientDeepObjectTest.java index 44b44b5b73b..a441a3f3d9f 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpNetCoreClientDeepObjectTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpNetCoreClientDeepObjectTest.java @@ -59,6 +59,6 @@ public class CSharpNetCoreClientDeepObjectTest { generator.setGeneratorPropertyDefault(CodegenConstants.SUPPORTING_FILES, "false"); generator.opts(input).generate(); assertFileContains(Paths.get(outputPath + "/src/Org.OpenAPITools/Api/DefaultApi.cs"), - "options[a]", "options[b]"); + "options[a]", "options[b]","inputOptions[b]"); } } 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 ec3908435d6..93ebc9854f8 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 class JavaClientDeepObjectTest { generator.opts(input).generate(); assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/api/DefaultApi.java"), - "options[a]", "options[b]", "\"csv\", \"options[c]\""); + "options[a]", "options[b]", "\"csv\", \"options[c]\"", "inputOptions[a]"); } } 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 4fcac02b6db..7c2616f3a7f 100644 --- a/modules/openapi-generator/src/test/resources/3_0/deepobject.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/deepobject.yaml @@ -14,6 +14,13 @@ paths: schema: $ref: '#/components/schemas/Options' explode: true + - name: inputOptions + in: query + required: false + style: deepObject + schema: + $ref: '#/components/schemas/Options' + explode: true responses: '200': description: OK