Skip to content

Commit 5ac583c

Browse files
committed
[Java] add missing nullable judgement when required property is true
1 parent c16f7f0 commit 5ac583c

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

  • modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson

modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pojo.mustache

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
398398
{{#items.isModel}}
399399
{{#required}}
400400
// ensure the json data is an array
401-
if (!jsonObj.get("{{{baseName}}}").isJsonArray()) {
401+
if (!jsonObj.get("{{{baseName}}}").isJsonArray(){{#isNullable}} && !jsonObj.get("{{baseName}}").isJsonNull(){{/isNullable}}) {
402402
throw new IllegalArgumentException(String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj.get("{{{baseName}}}").toString()));
403403
}
404404

@@ -436,7 +436,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
436436
// ensure the required json array is present
437437
if (jsonObj.get("{{{baseName}}}") == null) {
438438
throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`");
439-
} else if (!jsonObj.get("{{{baseName}}}").isJsonArray()) {
439+
} else if (!jsonObj.get("{{{baseName}}}").isJsonArray(){{#isNullable}} && !jsonObj.get("{{baseName}}").isJsonNull(){{/isNullable}}) {
440440
throw new IllegalArgumentException(String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj.get("{{{baseName}}}").toString()));
441441
}
442442
{{/required}}
@@ -450,8 +450,14 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
450450
{{/isString}}
451451
{{#isModel}}
452452
{{#required}}
453+
{{#isNullable}}
454+
if (jsonObj.get("{{{baseName}}}") != null && !jsonObj.get("{{{baseName}}}").isJsonNull()) {
455+
{{/isNullable}}
453456
// validate the required field `{{{baseName}}}`
454457
{{{dataType}}}.validateJsonElement(jsonObj.get("{{{baseName}}}"));
458+
{{#isNullable}}
459+
}
460+
{{/isNullable}}
455461
{{/required}}
456462
{{^required}}
457463
// validate the optional field `{{{baseName}}}`
@@ -462,8 +468,14 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
462468
{{/isModel}}
463469
{{#isEnum}}
464470
{{#required}}
471+
{{#isNullable}}
472+
if (jsonObj.get("{{{baseName}}}") != null && !jsonObj.get("{{{baseName}}}").isJsonNull()) {
473+
{{/isNullable}}
465474
// validate the required field `{{{baseName}}}`
466475
{{{datatypeWithEnum}}}.validateJsonElement(jsonObj.get("{{{baseName}}}"));
476+
{{#isNullable}}
477+
}
478+
{{/isNullable}}
467479
{{/required}}
468480
{{^required}}
469481
// validate the optional field `{{{baseName}}}`
@@ -474,8 +486,14 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
474486
{{/isEnum}}
475487
{{#isEnumRef}}
476488
{{#required}}
489+
{{#isNullable}}
490+
if (jsonObj.get("{{{baseName}}}") != null && !jsonObj.get("{{{baseName}}}").isJsonNull()) {
491+
{{/isNullable}}
477492
// validate the required field `{{{baseName}}}`
478493
{{{dataType}}}.validateJsonElement(jsonObj.get("{{{baseName}}}"));
494+
{{#isNullable}}
495+
}
496+
{{/isNullable}}
479497
{{/required}}
480498
{{^required}}
481499
// validate the optional field `{{{baseName}}}`

0 commit comments

Comments
 (0)