Skip to content

Commit 40551fb

Browse files
fanqiewanziMarcel Jacek
authored andcommitted
[Java] add missing nullable judgement when required property is true
1 parent 38f0796 commit 40551fb

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
@@ -386,7 +386,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
386386
{{#items.isModel}}
387387
{{#required}}
388388
// ensure the json data is an array
389-
if (!jsonObj.get("{{{baseName}}}").isJsonArray()) {
389+
if (!jsonObj.get("{{{baseName}}}").isJsonArray(){{#isNullable}} && !jsonObj.get("{{baseName}}").isJsonNull(){{/isNullable}}) {
390390
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj.get("{{{baseName}}}").toString()));
391391
}
392392

@@ -424,7 +424,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
424424
// ensure the required json array is present
425425
if (jsonObj.get("{{{baseName}}}") == null) {
426426
throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`");
427-
} else if (!jsonObj.get("{{{baseName}}}").isJsonArray()) {
427+
} else if (!jsonObj.get("{{{baseName}}}").isJsonArray(){{#isNullable}} && !jsonObj.get("{{baseName}}").isJsonNull(){{/isNullable}}) {
428428
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj.get("{{{baseName}}}").toString()));
429429
}
430430
{{/required}}
@@ -438,8 +438,14 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
438438
{{/isString}}
439439
{{#isModel}}
440440
{{#required}}
441+
{{#isNullable}}
442+
if (jsonObj.get("{{{baseName}}}") != null && !jsonObj.get("{{{baseName}}}").isJsonNull()) {
443+
{{/isNullable}}
441444
// validate the required field `{{{baseName}}}`
442445
{{{dataType}}}.validateJsonElement(jsonObj.get("{{{baseName}}}"));
446+
{{#isNullable}}
447+
}
448+
{{/isNullable}}
443449
{{/required}}
444450
{{^required}}
445451
// validate the optional field `{{{baseName}}}`
@@ -450,8 +456,14 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
450456
{{/isModel}}
451457
{{#isEnum}}
452458
{{#required}}
459+
{{#isNullable}}
460+
if (jsonObj.get("{{{baseName}}}") != null && !jsonObj.get("{{{baseName}}}").isJsonNull()) {
461+
{{/isNullable}}
453462
// validate the required field `{{{baseName}}}`
454463
{{{datatypeWithEnum}}}.validateJsonElement(jsonObj.get("{{{baseName}}}"));
464+
{{#isNullable}}
465+
}
466+
{{/isNullable}}
455467
{{/required}}
456468
{{^required}}
457469
// validate the optional field `{{{baseName}}}`
@@ -462,8 +474,14 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
462474
{{/isEnum}}
463475
{{#isEnumRef}}
464476
{{#required}}
477+
{{#isNullable}}
478+
if (jsonObj.get("{{{baseName}}}") != null && !jsonObj.get("{{{baseName}}}").isJsonNull()) {
479+
{{/isNullable}}
465480
// validate the required field `{{{baseName}}}`
466481
{{{dataType}}}.validateJsonElement(jsonObj.get("{{{baseName}}}"));
482+
{{#isNullable}}
483+
}
484+
{{/isNullable}}
467485
{{/required}}
468486
{{^required}}
469487
// validate the optional field `{{{baseName}}}`

0 commit comments

Comments
 (0)