forked from loafle/openapi-generator-original
Added support for inheritance in Swashbuckle in ASP.NET Core (#12856)
* Added support for inheritance in Swashbuckle * Updated to new API
This commit is contained in:
parent
2248baa5ea
commit
17c021df5b
@ -86,6 +86,8 @@ namespace {{packageName}}
|
|||||||
services
|
services
|
||||||
.AddSwaggerGen(c =>
|
.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
|
c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true);
|
||||||
|
|
||||||
c.SwaggerDoc("{{{version}}}{{^version}}v1{{/version}}", new OpenApiInfo
|
c.SwaggerDoc("{{{version}}}{{^version}}v1{{/version}}", new OpenApiInfo
|
||||||
{
|
{
|
||||||
Title = "{{{appName}}}{{^appName}}{{packageName}}{{/appName}}",
|
Title = "{{{appName}}}{{^appName}}{{packageName}}{{/appName}}",
|
||||||
|
@ -11,6 +11,7 @@ using Newtonsoft.Json;
|
|||||||
{{#model}}
|
{{#model}}
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
using JsonSubTypes;
|
using JsonSubTypes;
|
||||||
|
using Swashbuckle.AspNetCore.Annotations;
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
{{/model}}
|
{{/model}}
|
||||||
{{/models}}
|
{{/models}}
|
||||||
@ -26,8 +27,10 @@ namespace {{modelPackage}}
|
|||||||
[DataContract]
|
[DataContract]
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
[JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]
|
[JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]
|
||||||
|
[SwaggerDiscriminator("{{{discriminatorName}}}")]
|
||||||
{{#mappedModels}}
|
{{#mappedModels}}
|
||||||
[JsonSubtypes.KnownSubType(typeof({{{modelName}}}), "{{^vendorExtensions.x-discriminator-value}}{{{mappingName}}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{.}}}{{/vendorExtensions.x-discriminator-value}}")]
|
[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}}
|
{{/mappedModels}}
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
public {{#modelClassModifier}}{{.}} {{/modelClassModifier}}class {{classname}} {{#parent}}: {{{.}}}{{^pocoModels}}, {{/pocoModels}}{{/parent}}{{^pocoModels}}{{^parent}}: {{/parent}}IEquatable<{{classname}}>{{/pocoModels}}
|
public {{#modelClassModifier}}{{.}} {{/modelClassModifier}}class {{classname}} {{#parent}}: {{{.}}}{{^pocoModels}}, {{/pocoModels}}{{/parent}}{{^pocoModels}}{{^parent}}: {{/parent}}IEquatable<{{classname}}>{{/pocoModels}}
|
||||||
|
@ -80,6 +80,8 @@ namespace Org.OpenAPITools
|
|||||||
services
|
services
|
||||||
.AddSwaggerGen(c =>
|
.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
|
c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true);
|
||||||
|
|
||||||
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
||||||
{
|
{
|
||||||
Title = "OpenAPI Petstore",
|
Title = "OpenAPI Petstore",
|
||||||
|
@ -80,6 +80,8 @@ namespace Org.OpenAPITools
|
|||||||
services
|
services
|
||||||
.AddSwaggerGen(c =>
|
.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
|
c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true);
|
||||||
|
|
||||||
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
||||||
{
|
{
|
||||||
Title = "OpenAPI Petstore",
|
Title = "OpenAPI Petstore",
|
||||||
|
@ -80,6 +80,8 @@ namespace Org.OpenAPITools
|
|||||||
services
|
services
|
||||||
.AddSwaggerGen(c =>
|
.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
|
c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true);
|
||||||
|
|
||||||
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
||||||
{
|
{
|
||||||
Title = "OpenAPI Petstore",
|
Title = "OpenAPI Petstore",
|
||||||
|
@ -80,6 +80,8 @@ namespace Org.OpenAPITools
|
|||||||
services
|
services
|
||||||
.AddSwaggerGen(c =>
|
.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
|
c.EnableAnnotations(enableAnnotationsForInheritance: true, enableAnnotationsForPolymorphism: true);
|
||||||
|
|
||||||
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
c.SwaggerDoc("1.0.0", new OpenApiInfo
|
||||||
{
|
{
|
||||||
Title = "OpenAPI Petstore",
|
Title = "OpenAPI Petstore",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user