[chsarp-netcore]handle the exception to get correct error message. (#10207)

* handle the exception to get meaningful message.

* minor code format enhancement, update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
This commit is contained in:
Ghufran Zahidi 2021-08-21 22:54:24 +05:30 committed by GitHub
parent 4e3a98cee4
commit a71258d7f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 769 additions and 432 deletions

View File

@ -495,7 +495,14 @@ namespace {{packageName}}.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof({{{packageName}}}.{{modelPackage}}.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof({{{packageName}}}.{{modelPackage}}.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {

View File

@ -107,17 +107,25 @@
{{#useOneOfDiscriminatorLookup}} {{#useOneOfDiscriminatorLookup}}
{{#discriminator}} {{#discriminator}}
string discriminatorValue = JObject.Parse(jsonString)["{{{propertyBaseName}}}"].ToString(); try
switch (discriminatorValue)
{ {
{{#mappedModels}} var discriminatorObj = JObject.Parse(jsonString)["{{{propertyBaseName}}}"];
case "{{{mappingName}}}": string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings)); switch (discriminatorValue)
return new{{classname}}; {
{{/mappedModels}} {{#mappedModels}}
default: case "{{{mappingName}}}":
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for {{classname}}. Possible values:{{#mappedModels}} {{{mappingName}}}{{/mappedModels}}", discriminatorValue)); new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings));
break; return new{{classname}};
{{/mappedModels}}
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for {{classname}}. Possible values:{{#mappedModels}} {{{mappingName}}}{{/mappedModels}}", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
{{/discriminator}} {{/discriminator}}

View File

@ -494,7 +494,14 @@ namespace Org.OpenAPITools.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newMammal; return newMammal;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "Pig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newMammal; switch (discriminatorValue)
case "whale": {
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "Pig":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
case "zebra": return newMammal;
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "whale":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
default: return newMammal;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue)); case "zebra":
break; newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newNullableShape; return newNullableShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newNullableShape; switch (discriminatorValue)
case "Triangle": {
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newNullableShape; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
default: return newNullableShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newPig; return newPig;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "BasquePig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newPig; switch (discriminatorValue)
case "DanishPig": {
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); case "BasquePig":
return newPig; newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
default: return newPig;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue)); case "DanishPig":
break; newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
return newPig;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newQuadrilateral; return newQuadrilateral;
} }
string discriminatorValue = JObject.Parse(jsonString)["quadrilateralType"].ToString(); try
switch (discriminatorValue)
{ {
case "ComplexQuadrilateral": var discriminatorObj = JObject.Parse(jsonString)["quadrilateralType"];
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newQuadrilateral; switch (discriminatorValue)
case "SimpleQuadrilateral": {
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); case "ComplexQuadrilateral":
return newQuadrilateral; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
default: return newQuadrilateral;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue)); case "SimpleQuadrilateral":
break; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newShape; return newShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShape; switch (discriminatorValue)
case "Triangle": {
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShape; newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
default: return newShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
return newShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newShapeOrNull; return newShapeOrNull;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShapeOrNull; switch (discriminatorValue)
case "Triangle": {
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShapeOrNull; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
default: return newShapeOrNull;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newTriangle; return newTriangle;
} }
string discriminatorValue = JObject.Parse(jsonString)["triangleType"].ToString(); try
switch (discriminatorValue)
{ {
case "EquilateralTriangle": var discriminatorObj = JObject.Parse(jsonString)["triangleType"];
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newTriangle; switch (discriminatorValue)
case "IsoscelesTriangle": {
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "EquilateralTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
case "ScaleneTriangle": return newTriangle;
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "IsoscelesTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
default: return newTriangle;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue)); case "ScaleneTriangle":
break; newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -171,21 +171,29 @@ namespace Org.OpenAPITools.Model
return newMammal; return newMammal;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "Pig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newMammal; switch (discriminatorValue)
case "whale": {
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "Pig":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
case "zebra": return newMammal;
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "whale":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
default: return newMammal;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue)); case "zebra":
break; newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -154,18 +154,26 @@ namespace Org.OpenAPITools.Model
return newNullableShape; return newNullableShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newNullableShape; switch (discriminatorValue)
case "Triangle": {
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newNullableShape; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
default: return newNullableShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -145,18 +145,26 @@ namespace Org.OpenAPITools.Model
return newPig; return newPig;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "BasquePig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newPig; switch (discriminatorValue)
case "DanishPig": {
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); case "BasquePig":
return newPig; newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
default: return newPig;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue)); case "DanishPig":
break; newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
return newPig;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -145,18 +145,26 @@ namespace Org.OpenAPITools.Model
return newQuadrilateral; return newQuadrilateral;
} }
string discriminatorValue = JObject.Parse(jsonString)["quadrilateralType"].ToString(); try
switch (discriminatorValue)
{ {
case "ComplexQuadrilateral": var discriminatorObj = JObject.Parse(jsonString)["quadrilateralType"];
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newQuadrilateral; switch (discriminatorValue)
case "SimpleQuadrilateral": {
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); case "ComplexQuadrilateral":
return newQuadrilateral; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
default: return newQuadrilateral;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue)); case "SimpleQuadrilateral":
break; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -145,18 +145,26 @@ namespace Org.OpenAPITools.Model
return newShape; return newShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShape; switch (discriminatorValue)
case "Triangle": {
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShape; newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
default: return newShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
return newShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -154,18 +154,26 @@ namespace Org.OpenAPITools.Model
return newShapeOrNull; return newShapeOrNull;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShapeOrNull; switch (discriminatorValue)
case "Triangle": {
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShapeOrNull; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
default: return newShapeOrNull;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -171,21 +171,29 @@ namespace Org.OpenAPITools.Model
return newTriangle; return newTriangle;
} }
string discriminatorValue = JObject.Parse(jsonString)["triangleType"].ToString(); try
switch (discriminatorValue)
{ {
case "EquilateralTriangle": var discriminatorObj = JObject.Parse(jsonString)["triangleType"];
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newTriangle; switch (discriminatorValue)
case "IsoscelesTriangle": {
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "EquilateralTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
case "ScaleneTriangle": return newTriangle;
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "IsoscelesTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
default: return newTriangle;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue)); case "ScaleneTriangle":
break; newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -495,7 +495,14 @@ namespace Org.OpenAPITools.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newMammal; return newMammal;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "Pig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newMammal; switch (discriminatorValue)
case "whale": {
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "Pig":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
case "zebra": return newMammal;
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "whale":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
default: return newMammal;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue)); case "zebra":
break; newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newNullableShape; return newNullableShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newNullableShape; switch (discriminatorValue)
case "Triangle": {
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newNullableShape; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
default: return newNullableShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newPig; return newPig;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "BasquePig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newPig; switch (discriminatorValue)
case "DanishPig": {
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); case "BasquePig":
return newPig; newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
default: return newPig;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue)); case "DanishPig":
break; newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
return newPig;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newQuadrilateral; return newQuadrilateral;
} }
string discriminatorValue = JObject.Parse(jsonString)["quadrilateralType"].ToString(); try
switch (discriminatorValue)
{ {
case "ComplexQuadrilateral": var discriminatorObj = JObject.Parse(jsonString)["quadrilateralType"];
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newQuadrilateral; switch (discriminatorValue)
case "SimpleQuadrilateral": {
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); case "ComplexQuadrilateral":
return newQuadrilateral; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
default: return newQuadrilateral;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue)); case "SimpleQuadrilateral":
break; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newShape; return newShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShape; switch (discriminatorValue)
case "Triangle": {
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShape; newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
default: return newShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
return newShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newShapeOrNull; return newShapeOrNull;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShapeOrNull; switch (discriminatorValue)
case "Triangle": {
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShapeOrNull; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
default: return newShapeOrNull;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newTriangle; return newTriangle;
} }
string discriminatorValue = JObject.Parse(jsonString)["triangleType"].ToString(); try
switch (discriminatorValue)
{ {
case "EquilateralTriangle": var discriminatorObj = JObject.Parse(jsonString)["triangleType"];
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newTriangle; switch (discriminatorValue)
case "IsoscelesTriangle": {
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "EquilateralTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
case "ScaleneTriangle": return newTriangle;
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "IsoscelesTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
default: return newTriangle;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue)); case "ScaleneTriangle":
break; newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -495,7 +495,14 @@ namespace Org.OpenAPITools.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newMammal; return newMammal;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "Pig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newMammal; switch (discriminatorValue)
case "whale": {
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "Pig":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
case "zebra": return newMammal;
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "whale":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
default: return newMammal;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue)); case "zebra":
break; newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newNullableShape; return newNullableShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newNullableShape; switch (discriminatorValue)
case "Triangle": {
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newNullableShape; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
default: return newNullableShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newPig; return newPig;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "BasquePig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newPig; switch (discriminatorValue)
case "DanishPig": {
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); case "BasquePig":
return newPig; newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
default: return newPig;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue)); case "DanishPig":
break; newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
return newPig;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newQuadrilateral; return newQuadrilateral;
} }
string discriminatorValue = JObject.Parse(jsonString)["quadrilateralType"].ToString(); try
switch (discriminatorValue)
{ {
case "ComplexQuadrilateral": var discriminatorObj = JObject.Parse(jsonString)["quadrilateralType"];
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newQuadrilateral; switch (discriminatorValue)
case "SimpleQuadrilateral": {
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); case "ComplexQuadrilateral":
return newQuadrilateral; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
default: return newQuadrilateral;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue)); case "SimpleQuadrilateral":
break; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newShape; return newShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShape; switch (discriminatorValue)
case "Triangle": {
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShape; newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
default: return newShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
return newShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newShapeOrNull; return newShapeOrNull;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShapeOrNull; switch (discriminatorValue)
case "Triangle": {
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShapeOrNull; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
default: return newShapeOrNull;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newTriangle; return newTriangle;
} }
string discriminatorValue = JObject.Parse(jsonString)["triangleType"].ToString(); try
switch (discriminatorValue)
{ {
case "EquilateralTriangle": var discriminatorObj = JObject.Parse(jsonString)["triangleType"];
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newTriangle; switch (discriminatorValue)
case "IsoscelesTriangle": {
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "EquilateralTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
case "ScaleneTriangle": return newTriangle;
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "IsoscelesTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
default: return newTriangle;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue)); case "ScaleneTriangle":
break; newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -494,7 +494,14 @@ namespace Org.OpenAPITools.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newMammal; return newMammal;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "Pig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newMammal; switch (discriminatorValue)
case "whale": {
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "Pig":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
case "zebra": return newMammal;
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings)); case "whale":
return newMammal; newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
default: return newMammal;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue)); case "zebra":
break; newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newNullableShape; return newNullableShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newNullableShape; switch (discriminatorValue)
case "Triangle": {
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newNullableShape; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
default: return newNullableShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newPig; return newPig;
} }
string discriminatorValue = JObject.Parse(jsonString)["className"].ToString(); try
switch (discriminatorValue)
{ {
case "BasquePig": var discriminatorObj = JObject.Parse(jsonString)["className"];
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newPig; switch (discriminatorValue)
case "DanishPig": {
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings)); case "BasquePig":
return newPig; newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
default: return newPig;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue)); case "DanishPig":
break; newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
return newPig;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newQuadrilateral; return newQuadrilateral;
} }
string discriminatorValue = JObject.Parse(jsonString)["quadrilateralType"].ToString(); try
switch (discriminatorValue)
{ {
case "ComplexQuadrilateral": var discriminatorObj = JObject.Parse(jsonString)["quadrilateralType"];
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newQuadrilateral; switch (discriminatorValue)
case "SimpleQuadrilateral": {
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings)); case "ComplexQuadrilateral":
return newQuadrilateral; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
default: return newQuadrilateral;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue)); case "SimpleQuadrilateral":
break; newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -144,18 +144,26 @@ namespace Org.OpenAPITools.Model
return newShape; return newShape;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShape; switch (discriminatorValue)
case "Triangle": {
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShape; newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
default: return newShape;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
return newShape;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -153,18 +153,26 @@ namespace Org.OpenAPITools.Model
return newShapeOrNull; return newShapeOrNull;
} }
string discriminatorValue = JObject.Parse(jsonString)["shapeType"].ToString(); try
switch (discriminatorValue)
{ {
case "Quadrilateral": var discriminatorObj = JObject.Parse(jsonString)["shapeType"];
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newShapeOrNull; switch (discriminatorValue)
case "Triangle": {
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings)); case "Quadrilateral":
return newShapeOrNull; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
default: return newShapeOrNull;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue)); case "Triangle":
break; newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -170,21 +170,29 @@ namespace Org.OpenAPITools.Model
return newTriangle; return newTriangle;
} }
string discriminatorValue = JObject.Parse(jsonString)["triangleType"].ToString(); try
switch (discriminatorValue)
{ {
case "EquilateralTriangle": var discriminatorObj = JObject.Parse(jsonString)["triangleType"];
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); string discriminatorValue = discriminatorObj == null ?string.Empty :discriminatorObj.ToString();
return newTriangle; switch (discriminatorValue)
case "IsoscelesTriangle": {
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "EquilateralTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
case "ScaleneTriangle": return newTriangle;
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings)); case "IsoscelesTriangle":
return newTriangle; newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
default: return newTriangle;
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue)); case "ScaleneTriangle":
break; newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(string.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
break;
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(string.Format("Failed to parse the json data : `{0}` {1}", jsonString, ex.ToString()));
} }
int match = 0; int match = 0;

View File

@ -495,7 +495,14 @@ namespace Org.OpenAPITools.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {

View File

@ -494,7 +494,14 @@ namespace Org.OpenAPITools.Client
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) if (typeof(Org.OpenAPITools.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{ {
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); try
{
response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
} }
else if (typeof(T).Name == "Stream") // for binary response else if (typeof(T).Name == "Stream") // for binary response
{ {