diff --git a/modules/openapi-generator/src/main/resources/aspnetcore/3.0/Startup.mustache b/modules/openapi-generator/src/main/resources/aspnetcore/3.0/Startup.mustache index d94e1e6bb193075ae69bd489da39b27f01031803..b9f38b815bb3fec6d6550e9cf34503d4faffe7f6 100644 --- a/modules/openapi-generator/src/main/resources/aspnetcore/3.0/Startup.mustache +++ b/modules/openapi-generator/src/main/resources/aspnetcore/3.0/Startup.mustache @@ -86,6 +86,8 @@ namespace {{packageName}} services .AddSwaggerGen(c => { + c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true); + c.SwaggerDoc("{{{version}}}{{^version}}v1{{/version}}", new OpenApiInfo { Title = "{{{appName}}}{{^appName}}{{packageName}}{{/appName}}", diff --git a/modules/openapi-generator/src/main/resources/aspnetcore/3.0/model.mustache b/modules/openapi-generator/src/main/resources/aspnetcore/3.0/model.mustache index 4cc9017e0603f6501d44d668674dbff114410180..e29be395d7f4dda94159be4e802c72d4843bcc8c 100644 --- a/modules/openapi-generator/src/main/resources/aspnetcore/3.0/model.mustache +++ b/modules/openapi-generator/src/main/resources/aspnetcore/3.0/model.mustache @@ -11,6 +11,7 @@ using Newtonsoft.Json; {{#model}} {{#discriminator}} using JsonSubTypes; +using Swashbuckle.AspNetCore.Annotations; {{/discriminator}} {{/model}} {{/models}} @@ -26,8 +27,10 @@ namespace {{modelPackage}} [DataContract] {{#discriminator}} [JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")] + [SwaggerDiscriminator("{{{discriminatorName}}}")] {{#mappedModels}} [JsonSubtypes.KnownSubType(typeof({{{modelName}}}), "{{^vendorExtensions.x-discriminator-value}}{{{mappingName}}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{.}}}{{/vendorExtensions.x-discriminator-value}}")] + [SwaggerSubType(typeof({{{modelName}}}), DiscriminatorValue = "{{^vendorExtensions.x-discriminator-value}}{{{mappingName}}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{.}}}{{/vendorExtensions.x-discriminator-value}}")] {{/mappedModels}} {{/discriminator}} public {{#modelClassModifier}}{{.}} {{/modelClassModifier}}class {{classname}} : {{#parent}}{{{.}}}, {{/parent}}IEquatable<{{classname}}> diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Startup.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Startup.cs index 70a6b10f0580b4903b6e8ef91ab4deefe432708c..ce27cdffd9a8447a86e723604a35d8bc6023ac01 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Startup.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Startup.cs @@ -80,6 +80,8 @@ namespace Org.OpenAPITools services .AddSwaggerGen(c => { + c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true); + c.SwaggerDoc("1.0.0", new OpenApiInfo { Title = "OpenAPI Petstore", diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Startup.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Startup.cs index d3f0be5bc6774b8b5011477154db2ecc1e771d06..0b156ec4342802e3afc30ddf2f695479a9cadc89 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Startup.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Startup.cs @@ -80,6 +80,8 @@ namespace Org.OpenAPITools services .AddSwaggerGen(c => { + c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true); + c.SwaggerDoc("1.0.0", new OpenApiInfo { Title = "OpenAPI Petstore", diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Startup.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Startup.cs index 20cb5b5a94947f09c755fe7f2fe23d8194391245..014f5ef7a173a0b127220d72a30280ad3d1d6b82 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Startup.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Startup.cs @@ -80,6 +80,8 @@ namespace Org.OpenAPITools services .AddSwaggerGen(c => { + c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true); + c.SwaggerDoc("1.0.0", new OpenApiInfo { Title = "OpenAPI Petstore", diff --git a/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Startup.cs b/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Startup.cs index 5699f0151674b3107179360e68a4c429cee5a474..aee0229fa2e13a8544981808835aacdd7edf6d83 100644 --- a/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Startup.cs +++ b/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Startup.cs @@ -80,6 +80,8 @@ namespace Org.OpenAPITools services .AddSwaggerGen(c => { + c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true); + c.SwaggerDoc("1.0.0", new OpenApiInfo { Title = "OpenAPI Petstore",