diff --git a/src/Swashbuckle.AspNetCore.SwaggerGen/SchemaGenerator/SchemaGenerator.cs b/src/Swashbuckle.AspNetCore.SwaggerGen/SchemaGenerator/SchemaGenerator.cs index 497cffd275..7343456274 100644 --- a/src/Swashbuckle.AspNetCore.SwaggerGen/SchemaGenerator/SchemaGenerator.cs +++ b/src/Swashbuckle.AspNetCore.SwaggerGen/SchemaGenerator/SchemaGenerator.cs @@ -320,7 +320,12 @@ private OpenApiSchema CreateArraySchema(DataContract dataContract, SchemaReposit { Type = "array", Items = GenerateSchema(dataContract.ArrayItemType, schemaRepository), - UniqueItems = hasUniqueItems ? (bool?)true : null + UniqueItems = hasUniqueItems ? (bool?)true : null, + Xml = new OpenApiXml() + { + Wrapped = true, + Name = dataContract.ArrayItemType.Name, + } }; } diff --git a/test/Swashbuckle.AspNetCore.SwaggerGen.Test/SchemaGenerator/JsonSerializerSchemaGeneratorTests.cs b/test/Swashbuckle.AspNetCore.SwaggerGen.Test/SchemaGenerator/JsonSerializerSchemaGeneratorTests.cs index 11d1be49a4..10f562b7eb 100644 --- a/test/Swashbuckle.AspNetCore.SwaggerGen.Test/SchemaGenerator/JsonSerializerSchemaGeneratorTests.cs +++ b/test/Swashbuckle.AspNetCore.SwaggerGen.Test/SchemaGenerator/JsonSerializerSchemaGeneratorTests.cs @@ -169,6 +169,19 @@ public void GenerateSchema_GeneratesArraySchema_IfEnumerableType( Assert.Equal(expectedItemsFormat, schema.Items.Format); } + [Theory] + [InlineData(typeof(List), typeof(BadHttpRequestException))] + [InlineData(typeof(List), typeof(string))] + [InlineData(typeof(int[]), typeof(int))] + public void GenerateSchema_GeneratesArraySchema_ShouldContainXMLInformation(Type type, + Type expectedItemsType) + { + var schema = Subject().GenerateSchema(type, new SchemaRepository()); + + Assert.True(schema.Xml.Wrapped); + Assert.Equal(expectedItemsType.Name, schema.Xml.Name); + } + [Theory] [InlineData(typeof(ISet))] [InlineData(typeof(SortedSet))]