From e29acc3e991749f68e7a9052c31b2fedb6c7950d Mon Sep 17 00:00:00 2001 From: matt beary <1661988+hauntingEcho@users.noreply.github.com> Date: Sun, 24 Apr 2022 09:03:28 -0500 Subject: [PATCH] Emit default values for aspnetcore 3 value types (#11280) Fixes #10772 for aspnetcore 3+ This allows numbers to be set to zero, and booleans to be set to false. It may make sense to port this fix to the other C# generators, though it was partially fixed (for booleans only) in the netcore client in PR9042. --- .../src/main/resources/aspnetcore/3.0/model.mustache | 2 +- .../src/Org.OpenAPITools/Models/ApiResponse.cs | 2 +- .../src/Org.OpenAPITools/Models/Category.cs | 2 +- .../src/Org.OpenAPITools/Models/Order.cs | 10 +++++----- .../aspnetcore-3.0/src/Org.OpenAPITools/Models/Pet.cs | 4 ++-- .../aspnetcore-3.0/src/Org.OpenAPITools/Models/Tag.cs | 2 +- .../aspnetcore-3.0/src/Org.OpenAPITools/Models/User.cs | 4 ++-- .../src/Org.OpenAPITools/Models/ApiResponse.cs | 2 +- .../src/Org.OpenAPITools/Models/Category.cs | 2 +- .../src/Org.OpenAPITools/Models/Order.cs | 10 +++++----- .../aspnetcore-3.1/src/Org.OpenAPITools/Models/Pet.cs | 4 ++-- .../aspnetcore-3.1/src/Org.OpenAPITools/Models/Tag.cs | 2 +- .../aspnetcore-3.1/src/Org.OpenAPITools/Models/User.cs | 4 ++-- .../src/Org.OpenAPITools/Models/ApiResponse.cs | 2 +- .../src/Org.OpenAPITools/Models/Category.cs | 2 +- .../src/Org.OpenAPITools/Models/Order.cs | 10 +++++----- .../aspnetcore-5.0/src/Org.OpenAPITools/Models/Pet.cs | 4 ++-- .../aspnetcore-5.0/src/Org.OpenAPITools/Models/Tag.cs | 2 +- .../aspnetcore-5.0/src/Org.OpenAPITools/Models/User.cs | 4 ++-- 19 files changed, 37 insertions(+), 37 deletions(-) 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 917e3680492..312cbf6b483 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 @@ -55,7 +55,7 @@ namespace {{modelPackage}} [MinLength({{minLength}})]{{/maxLength}}{{/minLength}}{{^minLength}}{{#maxLength}} [MaxLength({{.}})]{{/maxLength}}{{/minLength}}{{#minimum}}{{#maximum}} [Range({{minimum}}, {{maximum}})]{{/maximum}}{{/minimum}} - [DataMember(Name="{{baseName}}", EmitDefaultValue={{#isNullable}}true{{/isNullable}}{{^isNullable}}false{{/isNullable}})] + [DataMember(Name="{{baseName}}", EmitDefaultValue={{#isNullable}}true{{/isNullable}}{{^isNullable}}{{#vendorExtensions.x-is-value-type}}true{{/vendorExtensions.x-is-value-type}}{{^vendorExtensions.x-is-value-type}}false{{/vendorExtensions.x-is-value-type}}{{/isNullable}})] {{#isEnum}} public {{{datatypeWithEnum}}}{{#isNullable}}?{{/isNullable}} {{name}} { get; set; }{{#defaultValue}} = {{{.}}};{{/defaultValue}} {{/isEnum}} diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/ApiResponse.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/ApiResponse.cs index 88e45fce388..7573feaf410 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/ApiResponse.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/ApiResponse.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Code /// - [DataMember(Name="code", EmitDefaultValue=false)] + [DataMember(Name="code", EmitDefaultValue=true)] public int Code { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs index e147a10073c..810f5beacc2 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Order.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Order.cs index e9013f0ed0d..1d972579269 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Order.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Order.cs @@ -29,19 +29,19 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// /// Gets or Sets PetId /// - [DataMember(Name="petId", EmitDefaultValue=false)] + [DataMember(Name="petId", EmitDefaultValue=true)] public long PetId { get; set; } /// /// Gets or Sets Quantity /// - [DataMember(Name="quantity", EmitDefaultValue=false)] + [DataMember(Name="quantity", EmitDefaultValue=true)] public int Quantity { get; set; } /// @@ -83,13 +83,13 @@ namespace Org.OpenAPITools.Models /// Order Status /// /// Order Status - [DataMember(Name="status", EmitDefaultValue=false)] + [DataMember(Name="status", EmitDefaultValue=true)] public StatusEnum Status { get; set; } /// /// Gets or Sets Complete /// - [DataMember(Name="complete", EmitDefaultValue=false)] + [DataMember(Name="complete", EmitDefaultValue=true)] public bool Complete { get; set; } = false; /// diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Pet.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Pet.cs index d5a816cd5ee..762279e4d6d 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Pet.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Pet.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// @@ -91,7 +91,7 @@ namespace Org.OpenAPITools.Models /// pet status in the store /// /// pet status in the store - [DataMember(Name="status", EmitDefaultValue=false)] + [DataMember(Name="status", EmitDefaultValue=true)] public StatusEnum Status { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Tag.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Tag.cs index 090f95cc494..5153ae0c4bb 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Tag.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Tag.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/User.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/User.cs index 4c6d96d08c5..a64c031e615 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/User.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/User.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// @@ -72,7 +72,7 @@ namespace Org.OpenAPITools.Models /// User Status /// /// User Status - [DataMember(Name="userStatus", EmitDefaultValue=false)] + [DataMember(Name="userStatus", EmitDefaultValue=true)] public int UserStatus { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/ApiResponse.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/ApiResponse.cs index 88e45fce388..7573feaf410 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/ApiResponse.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/ApiResponse.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Code /// - [DataMember(Name="code", EmitDefaultValue=false)] + [DataMember(Name="code", EmitDefaultValue=true)] public int Code { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs index e147a10073c..810f5beacc2 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Order.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Order.cs index e9013f0ed0d..1d972579269 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Order.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Order.cs @@ -29,19 +29,19 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// /// Gets or Sets PetId /// - [DataMember(Name="petId", EmitDefaultValue=false)] + [DataMember(Name="petId", EmitDefaultValue=true)] public long PetId { get; set; } /// /// Gets or Sets Quantity /// - [DataMember(Name="quantity", EmitDefaultValue=false)] + [DataMember(Name="quantity", EmitDefaultValue=true)] public int Quantity { get; set; } /// @@ -83,13 +83,13 @@ namespace Org.OpenAPITools.Models /// Order Status /// /// Order Status - [DataMember(Name="status", EmitDefaultValue=false)] + [DataMember(Name="status", EmitDefaultValue=true)] public StatusEnum Status { get; set; } /// /// Gets or Sets Complete /// - [DataMember(Name="complete", EmitDefaultValue=false)] + [DataMember(Name="complete", EmitDefaultValue=true)] public bool Complete { get; set; } = false; /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Pet.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Pet.cs index d5a816cd5ee..762279e4d6d 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Pet.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Pet.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// @@ -91,7 +91,7 @@ namespace Org.OpenAPITools.Models /// pet status in the store /// /// pet status in the store - [DataMember(Name="status", EmitDefaultValue=false)] + [DataMember(Name="status", EmitDefaultValue=true)] public StatusEnum Status { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Tag.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Tag.cs index 090f95cc494..5153ae0c4bb 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Tag.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Tag.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/User.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/User.cs index 4c6d96d08c5..a64c031e615 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/User.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/User.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// @@ -72,7 +72,7 @@ namespace Org.OpenAPITools.Models /// User Status /// /// User Status - [DataMember(Name="userStatus", EmitDefaultValue=false)] + [DataMember(Name="userStatus", EmitDefaultValue=true)] public int UserStatus { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/ApiResponse.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/ApiResponse.cs index 88e45fce388..7573feaf410 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/ApiResponse.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/ApiResponse.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Code /// - [DataMember(Name="code", EmitDefaultValue=false)] + [DataMember(Name="code", EmitDefaultValue=true)] public int Code { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Category.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Category.cs index 8b9fd03a240..0d63dc9d7e6 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Category.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Category.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Order.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Order.cs index e9013f0ed0d..1d972579269 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Order.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Order.cs @@ -29,19 +29,19 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// /// Gets or Sets PetId /// - [DataMember(Name="petId", EmitDefaultValue=false)] + [DataMember(Name="petId", EmitDefaultValue=true)] public long PetId { get; set; } /// /// Gets or Sets Quantity /// - [DataMember(Name="quantity", EmitDefaultValue=false)] + [DataMember(Name="quantity", EmitDefaultValue=true)] public int Quantity { get; set; } /// @@ -83,13 +83,13 @@ namespace Org.OpenAPITools.Models /// Order Status /// /// Order Status - [DataMember(Name="status", EmitDefaultValue=false)] + [DataMember(Name="status", EmitDefaultValue=true)] public StatusEnum Status { get; set; } /// /// Gets or Sets Complete /// - [DataMember(Name="complete", EmitDefaultValue=false)] + [DataMember(Name="complete", EmitDefaultValue=true)] public bool Complete { get; set; } = false; /// diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Pet.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Pet.cs index d5a816cd5ee..762279e4d6d 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Pet.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Pet.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// @@ -91,7 +91,7 @@ namespace Org.OpenAPITools.Models /// pet status in the store /// /// pet status in the store - [DataMember(Name="status", EmitDefaultValue=false)] + [DataMember(Name="status", EmitDefaultValue=true)] public StatusEnum Status { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Tag.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Tag.cs index 090f95cc494..5153ae0c4bb 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Tag.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/Tag.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/User.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/User.cs index 4c6d96d08c5..a64c031e615 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/User.cs +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Models/User.cs @@ -29,7 +29,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Id /// - [DataMember(Name="id", EmitDefaultValue=false)] + [DataMember(Name="id", EmitDefaultValue=true)] public long Id { get; set; } /// @@ -72,7 +72,7 @@ namespace Org.OpenAPITools.Models /// User Status /// /// User Status - [DataMember(Name="userStatus", EmitDefaultValue=false)] + [DataMember(Name="userStatus", EmitDefaultValue=true)] public int UserStatus { get; set; } ///