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 a9bb1318147..6fee1e5686b 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 @@ -2272,6 +2272,7 @@ public class DefaultCodegen implements CodegenConfig { m.isArrayModel = true; m.arrayModelType = fromProperty(name, schema).complexType; addParentContainer(m, name, schema); + ModelUtils.syncValidationProperties(schema, m); } else if (schema instanceof ComposedSchema) { final ComposedSchema composed = (ComposedSchema) schema; Map properties = new LinkedHashMap(); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 4dec1cb3441..f36cd51e2c3 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -2253,4 +2253,17 @@ public class DefaultCodegenTest { assertEquals(openAPI.getComponents().getSchemas().size(), 2); assertNull(cm.getDiscriminator()); } + + @Test + public void arrayModelHasValidation() { + final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/issue7356.yaml"); + final DefaultCodegen codegen = new DefaultCodegen(); + codegen.setOpenAPI(openAPI); + + String modelName = "ArrayWithValidations"; + Schema sc = openAPI.getComponents().getSchemas().get(modelName); + CodegenModel cm = codegen.fromModel(modelName, sc); + assertEquals((int) cm.getMinItems(), 1); + } + } diff --git a/modules/openapi-generator/src/test/resources/3_0/issue7356.yaml b/modules/openapi-generator/src/test/resources/3_0/issue7356.yaml new file mode 100644 index 00000000000..bcdf72f5bf6 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/issue7356.yaml @@ -0,0 +1,14 @@ +openapi: 3.0.1 +info: + title: My title + description: API under test + version: 1.0.7 +servers: + - url: https://localhost:9999/root +paths: +components: + schemas: + ArrayWithValidations: + type: array + minItems: 1 + items: {} \ No newline at end of file