diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java index 9d7d625b80..e331732722 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/AnnotationsUtils.java @@ -554,6 +554,15 @@ public static Optional getArraySchema(io.swagger.v3.oas.annotations.medi } } + if (arraySchema.arraySchema() != null) { + if (StringUtils.isNotBlank(arraySchema.arraySchema().description())) { + arraySchemaObject.setDescription(arraySchema.arraySchema().description()); + } + if (StringUtils.isNotBlank(arraySchema.arraySchema().title())) { + arraySchemaObject.setTitle(arraySchema.arraySchema().title()); + } + } + return Optional.of(arraySchemaObject); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java index 512428ebb6..13b3d16213 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/ModelResolverOAS31Test.java @@ -30,8 +30,10 @@ public void testAnnotatedArray() { SerializationMatchers.assertEqualsToYaml31(model, "type: array\n" + "contains:\n" + " type: string\n" + + "description: arraydescription\n" + "items:\n" + " type: string\n" + + " description: itemdescription\n"+ "maxContains: 10\n" + "minContains: 1\n" + "prefixItems:\n" + @@ -115,12 +117,16 @@ public void testOAS31Fields() { " type: array\n" + " contains:\n" + " type: string\n" + + " description: arraydescription\n" + " items:\n" + " type: string\n" + + " description: itemdescription\n" + + " title: itemtitle\n" + " maxContains: 10\n" + " minContains: 1\n" + " prefixItems:\n" + " - type: string\n" + + " title: arraytitle\n" + " unevaluatedItems:\n" + " type: number\n" + " status:\n" + diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedArray.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedArray.java index 9e49f750d6..cc5e4c84f7 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedArray.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/AnnotatedArray.java @@ -13,8 +13,10 @@ types = { "number" } ), schema = @Schema( - types = { "string" } + types = { "string" }, + description = "itemdescription" ), + arraySchema = @Schema(description = "arraydescription"), prefixItems = { @Schema( types = { "string" } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ModelWithOAS31Stuff.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ModelWithOAS31Stuff.java index c1ef938175..ec3615dd3e 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ModelWithOAS31Stuff.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/v31/model/ModelWithOAS31Stuff.java @@ -23,6 +23,13 @@ public class ModelWithOAS31Stuff { private Client client; @ArraySchema( + schema = @Schema( + types = { "string" }, + description = "itemdescription", + title = "itemtitle" + + ), + arraySchema = @Schema(description = "arraydescription", title = "arraytitle"), maxContains = 10, minContains = 1, contains = @Schema(