Skip to content

Commit ce01835

Browse files
committed
Check whether a field value is present but null
1 parent 6216247 commit ce01835

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

modules/swagger-codegen/src/main/resources/cpprest/model-source.mustache

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,11 @@ void {{classname}}::fromJson(web::json::value& val)
140140
{{^required}}
141141
if(val.has_field(utility::conversions::to_string_t("{{baseName}}")))
142142
{
143-
{{setter}}(ModelBase::{{baseType}}FromJson(val[utility::conversions::to_string_t("{{baseName}}")]));
143+
web::json::value& fieldValue = val[utility::conversions::to_string_t("{{baseName}}")];
144+
if(!fieldValue.is_null())
145+
{
146+
{{setter}}(ModelBase::{{baseType}}FromJson(fieldValue));
147+
}
144148
}
145149
{{/required}}
146150
{{#required}}
@@ -242,22 +246,23 @@ void {{classname}}::fromJson(web::json::value& val)
242246
{{^required}}
243247
if(val.has_field(utility::conversions::to_string_t("{{baseName}}")))
244248
{
245-
{{#isString}}
246-
{{setter}}(ModelBase::stringFromJson(val[utility::conversions::to_string_t("{{baseName}}")]));
247-
{{/isString}}
248-
{{^isString}}
249-
{{#isDateTime}}
250-
{{setter}}(ModelBase::dateFromJson(val[utility::conversions::to_string_t("{{baseName}}")]));
251-
{{/isDateTime}}
252-
{{^isDateTime}}
253-
if(!val[utility::conversions::to_string_t("{{baseName}}")].is_null())
249+
web::json::value& fieldValue = val[utility::conversions::to_string_t("{{baseName}}")];
250+
if(!fieldValue.is_null())
254251
{
252+
{{#isString}}
253+
{{setter}}(ModelBase::stringFromJson(fieldValue));
254+
{{/isString}}
255+
{{^isString}}
256+
{{#isDateTime}}
257+
{{setter}}(ModelBase::dateFromJson(fieldValue));
258+
{{/isDateTime}}
259+
{{^isDateTime}}
255260
{{{datatype}}} newItem({{{defaultValue}}});
256-
newItem->fromJson(val[utility::conversions::to_string_t("{{baseName}}")]);
261+
newItem->fromJson(fieldValue);
257262
{{setter}}( newItem );
263+
{{/isDateTime}}
264+
{{/isString}}
258265
}
259-
{{/isDateTime}}
260-
{{/isString}}
261266
}
262267
{{/required}}
263268
{{#required}}

0 commit comments

Comments
 (0)