forked from loafle/openapi-generator-original
[C#] Fix oneOf derserialization with additional properties (#8057)
* fix oneOf derserializaoneOf deserialization with additonal prop * fix tests due to better handlding of additional prop
This commit is contained in:
parent
b0ecaab8fb
commit
bcf4f8ade6
@ -28,6 +28,23 @@ namespace {{packageName}}.{{modelPackage}}
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Custom JSON serializer for objects with additional properties
|
||||
/// </summary>
|
||||
static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
// OpenAPI generated types generally hide default constructors.
|
||||
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
|
||||
MissingMemberHandling = MissingMemberHandling.Ignore,
|
||||
ContractResolver = new DefaultContractResolver
|
||||
{
|
||||
NamingStrategy = new CamelCaseNamingStrategy
|
||||
{
|
||||
OverrideSpecifiedNames = false
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets or Sets the actual instance
|
||||
/// </summary>
|
||||
|
@ -112,7 +112,12 @@
|
||||
{
|
||||
{{#mappedModels}}
|
||||
case "{{{mappingName}}}":
|
||||
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.SerializerSettings));
|
||||
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (new{{{classname}}}.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.SerializerSettings));
|
||||
}
|
||||
return new{{classname}};
|
||||
{{/mappedModels}}
|
||||
default:
|
||||
@ -128,7 +133,12 @@
|
||||
|
||||
try
|
||||
{
|
||||
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{.}}}>(jsonString, {{classname}}.SerializerSettings));
|
||||
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{.}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (new{{{classname}}}.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{.}}}>(jsonString, {{classname}}.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("{{{.}}}");
|
||||
match++;
|
||||
}
|
||||
|
@ -36,6 +36,23 @@ namespace Org.OpenAPITools.Model
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Custom JSON serializer for objects with additional properties
|
||||
/// </summary>
|
||||
static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
// OpenAPI generated types generally hide default constructors.
|
||||
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
|
||||
MissingMemberHandling = MissingMemberHandling.Ignore,
|
||||
ContractResolver = new DefaultContractResolver
|
||||
{
|
||||
NamingStrategy = new CamelCaseNamingStrategy
|
||||
{
|
||||
OverrideSpecifiedNames = false
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets or Sets the actual instance
|
||||
/// </summary>
|
||||
|
@ -147,7 +147,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Apple");
|
||||
match++;
|
||||
}
|
||||
@ -159,7 +164,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Banana");
|
||||
match++;
|
||||
}
|
||||
|
@ -156,7 +156,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("AppleReq");
|
||||
match++;
|
||||
}
|
||||
@ -168,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("BananaReq");
|
||||
match++;
|
||||
}
|
||||
|
@ -174,13 +174,28 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Pig":
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
return newMammal;
|
||||
case "whale":
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
return newMammal;
|
||||
case "zebra":
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
return newMammal;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
|
||||
@ -192,7 +207,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Pig");
|
||||
match++;
|
||||
}
|
||||
@ -204,7 +224,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Whale");
|
||||
match++;
|
||||
}
|
||||
@ -216,7 +241,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Zebra");
|
||||
match++;
|
||||
}
|
||||
|
@ -157,10 +157,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Quadrilateral":
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
return newNullableShape;
|
||||
case "Triangle":
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
return newNullableShape;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
|
||||
@ -172,7 +182,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -184,7 +199,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,10 +148,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "BasquePig":
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
return newPig;
|
||||
case "DanishPig":
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
return newPig;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
|
||||
@ -163,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("BasquePig");
|
||||
match++;
|
||||
}
|
||||
@ -175,7 +190,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("DanishPig");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,10 +148,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "ComplexQuadrilateral":
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
return newQuadrilateral;
|
||||
case "SimpleQuadrilateral":
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
return newQuadrilateral;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
|
||||
@ -163,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("ComplexQuadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -175,7 +190,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("SimpleQuadrilateral");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,10 +148,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Quadrilateral":
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
return newShape;
|
||||
case "Triangle":
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
return newShape;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
|
||||
@ -163,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -175,7 +190,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -157,10 +157,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Quadrilateral":
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
return newShapeOrNull;
|
||||
case "Triangle":
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
return newShapeOrNull;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
|
||||
@ -172,7 +182,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -184,7 +199,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -174,13 +174,28 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "EquilateralTriangle":
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
return newTriangle;
|
||||
case "IsoscelesTriangle":
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
return newTriangle;
|
||||
case "ScaleneTriangle":
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
return newTriangle;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
|
||||
@ -192,7 +207,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("EquilateralTriangle");
|
||||
match++;
|
||||
}
|
||||
@ -204,7 +224,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("IsoscelesTriangle");
|
||||
match++;
|
||||
}
|
||||
@ -216,7 +241,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("ScaleneTriangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -86,7 +86,8 @@ namespace Org.OpenAPITools.Test
|
||||
Assert.IsType<Banana>(f3.ActualInstance);
|
||||
|
||||
Fruit f4 = Fruit.FromJson("{\"origin\":\"Japan\"}");
|
||||
Assert.IsType<Apple>(f4.ActualInstance);
|
||||
// since banana allows additional properties, it will apple's JSON payload as well
|
||||
Assert.IsType<Banana>(f4.ActualInstance);
|
||||
|
||||
// test custom deserializer
|
||||
Fruit f5 = JsonConvert.DeserializeObject<Fruit>("{\"lengthCm\":98}");
|
||||
@ -117,5 +118,18 @@ namespace Org.OpenAPITools.Test
|
||||
Cat c = JsonConvert.DeserializeObject<Cat>("{\"className\":\"cat\",\"bar\":\"from json bar\"}");
|
||||
Assert.Equal("from json bar", c.AdditionalProperties["bar"]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test additonal properties
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void TestAdditionalProperties()
|
||||
{
|
||||
Foo f = new Foo();
|
||||
|
||||
Assert.NotNull(f.GetType().GetProperty("AdditionalProperties"));
|
||||
Assert.Null(f.GetType().GetProperty("unknown_property"));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -36,6 +36,23 @@ namespace Org.OpenAPITools.Model
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Custom JSON serializer for objects with additional properties
|
||||
/// </summary>
|
||||
static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
// OpenAPI generated types generally hide default constructors.
|
||||
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
|
||||
MissingMemberHandling = MissingMemberHandling.Ignore,
|
||||
ContractResolver = new DefaultContractResolver
|
||||
{
|
||||
NamingStrategy = new CamelCaseNamingStrategy
|
||||
{
|
||||
OverrideSpecifiedNames = false
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets or Sets the actual instance
|
||||
/// </summary>
|
||||
|
@ -147,7 +147,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Apple");
|
||||
match++;
|
||||
}
|
||||
@ -159,7 +164,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Banana");
|
||||
match++;
|
||||
}
|
||||
|
@ -156,7 +156,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("AppleReq");
|
||||
match++;
|
||||
}
|
||||
@ -168,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("BananaReq");
|
||||
match++;
|
||||
}
|
||||
|
@ -174,13 +174,28 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Pig":
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
return newMammal;
|
||||
case "whale":
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
return newMammal;
|
||||
case "zebra":
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
return newMammal;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
|
||||
@ -192,7 +207,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Pig");
|
||||
match++;
|
||||
}
|
||||
@ -204,7 +224,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Whale");
|
||||
match++;
|
||||
}
|
||||
@ -216,7 +241,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Zebra");
|
||||
match++;
|
||||
}
|
||||
|
@ -157,10 +157,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Quadrilateral":
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
return newNullableShape;
|
||||
case "Triangle":
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
return newNullableShape;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
|
||||
@ -172,7 +182,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -184,7 +199,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,10 +148,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "BasquePig":
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
return newPig;
|
||||
case "DanishPig":
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
return newPig;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
|
||||
@ -163,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("BasquePig");
|
||||
match++;
|
||||
}
|
||||
@ -175,7 +190,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("DanishPig");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,10 +148,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "ComplexQuadrilateral":
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
return newQuadrilateral;
|
||||
case "SimpleQuadrilateral":
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
return newQuadrilateral;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
|
||||
@ -163,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("ComplexQuadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -175,7 +190,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("SimpleQuadrilateral");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,10 +148,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Quadrilateral":
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
return newShape;
|
||||
case "Triangle":
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
return newShape;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
|
||||
@ -163,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -175,7 +190,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -157,10 +157,20 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "Quadrilateral":
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
return newShapeOrNull;
|
||||
case "Triangle":
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
return newShapeOrNull;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
|
||||
@ -172,7 +182,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -184,7 +199,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -174,13 +174,28 @@ namespace Org.OpenAPITools.Model
|
||||
switch (discriminatorValue)
|
||||
{
|
||||
case "EquilateralTriangle":
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
return newTriangle;
|
||||
case "IsoscelesTriangle":
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
return newTriangle;
|
||||
case "ScaleneTriangle":
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
return newTriangle;
|
||||
default:
|
||||
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
|
||||
@ -192,7 +207,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("EquilateralTriangle");
|
||||
match++;
|
||||
}
|
||||
@ -204,7 +224,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("IsoscelesTriangle");
|
||||
match++;
|
||||
}
|
||||
@ -216,7 +241,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("ScaleneTriangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -36,6 +36,23 @@ namespace Org.OpenAPITools.Model
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Custom JSON serializer for objects with additional properties
|
||||
/// </summary>
|
||||
static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
// OpenAPI generated types generally hide default constructors.
|
||||
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
|
||||
MissingMemberHandling = MissingMemberHandling.Ignore,
|
||||
ContractResolver = new DefaultContractResolver
|
||||
{
|
||||
NamingStrategy = new CamelCaseNamingStrategy
|
||||
{
|
||||
OverrideSpecifiedNames = false
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets or Sets the actual instance
|
||||
/// </summary>
|
||||
|
@ -147,7 +147,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Apple");
|
||||
match++;
|
||||
}
|
||||
@ -159,7 +164,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Banana");
|
||||
match++;
|
||||
}
|
||||
|
@ -156,7 +156,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("AppleReq");
|
||||
match++;
|
||||
}
|
||||
@ -168,7 +173,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("BananaReq");
|
||||
match++;
|
||||
}
|
||||
|
@ -174,7 +174,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Pig");
|
||||
match++;
|
||||
}
|
||||
@ -186,7 +191,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Whale");
|
||||
match++;
|
||||
}
|
||||
@ -198,7 +208,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Zebra");
|
||||
match++;
|
||||
}
|
||||
|
@ -157,7 +157,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -169,7 +174,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,7 +148,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("BasquePig");
|
||||
match++;
|
||||
}
|
||||
@ -160,7 +165,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("DanishPig");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,7 +148,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("ComplexQuadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -160,7 +165,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("SimpleQuadrilateral");
|
||||
match++;
|
||||
}
|
||||
|
@ -148,7 +148,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -160,7 +165,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -157,7 +157,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Quadrilateral");
|
||||
match++;
|
||||
}
|
||||
@ -169,7 +174,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("Triangle");
|
||||
match++;
|
||||
}
|
||||
|
@ -174,7 +174,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("EquilateralTriangle");
|
||||
match++;
|
||||
}
|
||||
@ -186,7 +191,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("IsoscelesTriangle");
|
||||
match++;
|
||||
}
|
||||
@ -198,7 +208,12 @@ namespace Org.OpenAPITools.Model
|
||||
|
||||
try
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
|
||||
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
|
||||
{
|
||||
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
|
||||
}
|
||||
matchedTypes.Add("ScaleneTriangle");
|
||||
match++;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user