diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index 8fd83369682..71191d9f719 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -3210,4 +3210,28 @@ public class JavaClientCodegenTest { ); } -} + @Test + public void testGenerateParameterId() { + final Path output = newTempFolder(); + final CodegenConfigurator configurator = new CodegenConfigurator() + .setValidateSpec(false) + .setGeneratorName("java") + .setAdditionalProperties(Map.of( + CodegenConstants.API_PACKAGE, "xyz.abcdef.api" + )) + .setInputSpec("src/test/resources/3_1/issue_20239.yaml") + .setOutputDir(output.toString().replace("\\", "/")); + + new DefaultGenerator().opts(configurator.toClientOptInput()).generate(); + + TestUtils.assertFileContains( + output.resolve("src/main/java/xyz/abcdef/api/ATagApi.java"), + " getCall(String pathParameter, Integer queryParameter, final ApiCallback _callback)" + ); + + TestUtils.assertFileNotContains( + output.resolve("src/main/java/xyz/abcdef/api/ATagApi.java"), + " getCall(Integer queryParameter, final ApiCallback _callback)" + ); + } +} \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_1/issue_20239.yaml b/modules/openapi-generator/src/test/resources/3_1/issue_20239.yaml new file mode 100644 index 00000000000..8082304c1f6 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_1/issue_20239.yaml @@ -0,0 +1,38 @@ +openapi: 3.1.0 +info: + title: API Overview + version: "v1" + description: description + +tags: + - name: aTag + +paths: + "/path/{path_parameter}": + parameters: + - $ref: "#/components/parameters/path_parameter" + get: + tags: + - aTag + operationId: get + parameters: + - $ref: "#/components/parameters/query_parameter" + responses: + "200": + description: no body +components: + parameters: + path_parameter: + name: path_parameter + in: path + required: true + schema: + type: string + + query_parameter: + name: query_parameter + in: query + schema: + type: integer + minimum: 0 + default: 0