fix(csharp): Fixed JsonConverter for discriminators only appearing on base classes (#19972)

* fix(csharp): Fixed JsonConverter for discriminators only appearing on base classes

* chore: Updated .NET samples
This commit is contained in:
DaveK-Rocketmakers 2024-11-09 05:55:02 +00:00 committed by GitHub
parent 5702751e91
commit d9229c7b9f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 6 additions and 21 deletions

View File

@ -34,7 +34,9 @@ namespace {{modelPackage}}
[DataContract]
{{#discriminator}}
{{#useNewtonsoft}}
{{#mappedModels.size}}
[JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]
{{/mappedModels.size}}
{{/useNewtonsoft}}
{{#useSwashbuckle}}
[SwaggerDiscriminator("{{{discriminatorName}}}")]

View File

@ -3,7 +3,9 @@
/// </summary>
[DataContract(Name = "{{{name}}}")]
{{#discriminator}}
{{#mappedModels.size}}
[JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]
{{/mappedModels.size}}
{{#mappedModels}}
[JsonSubtypes.KnownSubType(typeof({{{modelName}}}), "{{^vendorExtensions.x-discriminator-value}}{{{mappingName}}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{.}}}{{/vendorExtensions.x-discriminator-value}}")]
{{/mappedModels}}

View File

@ -10,7 +10,9 @@
[DataContract(Name = "{{{name}}}")]
{{^useUnityWebRequest}}
{{#discriminator}}
{{#mappedModels.size}}
[JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]
{{/mappedModels.size}}
{{#mappedModels}}
[JsonSubtypes.KnownSubType(typeof({{{modelName}}}), "{{^vendorExtensions.x-discriminator-value}}{{{mappingName}}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{.}}}{{/vendorExtensions.x-discriminator-value}}")]
{{/mappedModels}}

View File

@ -32,7 +32,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -32,7 +32,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -32,7 +32,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Cat
/// </summary>
[DataContract(Name = "Cat")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Cat : Animal, IEquatable<Cat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// ChildCat
/// </summary>
[DataContract(Name = "ChildCat")]
[JsonConverter(typeof(JsonSubtypes), "PetType")]
public partial class ChildCat : ParentPet, IEquatable<ChildCat>, IValidatableObject
{
/// <summary>

View File

@ -31,7 +31,6 @@ namespace Org.OpenAPITools.Model
/// Dog
/// </summary>
[DataContract(Name = "Dog")]
[JsonConverter(typeof(JsonSubtypes), "ClassName")]
public partial class Dog : Animal, IEquatable<Dog>, IValidatableObject
{
/// <summary>