diff --git a/docs/generators/jaxrs-spec.md b/docs/generators/jaxrs-spec.md index 1b125b6f11807d4cba26ce471fdc6e9c25b5c2ec..b1a6228f9129d63fa802732e8e7d0b979eed0829 100644 --- a/docs/generators/jaxrs-spec.md +++ b/docs/generators/jaxrs-spec.md @@ -26,7 +26,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |discriminatorCaseSensitive|Whether the discriminator value lookup should be case-sensitive or not. This option only works for Java API client| |true| |ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true| |fullJavaUtil|whether to use fully qualified name for classes under java.util. This option only works for Java API client| |false| -|generateBuilders|Whether to generate builders for models.| |false| +|generateBuilders|Whether to generate builders for models. This will not result in valid code if the models use extension/inheritance.| |false| |generatePom|Whether to generate pom.xml if the file does not already exist.| |true| |groupId|groupId in generated pom.xml| |org.openapitools| |hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |false| diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache index 91c23b9635f6d6cbc888a0926e0056cb07ea8cbb..54d1f69b87d058ced5bd10dfda9fd2121c188500 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache @@ -14,7 +14,7 @@ import com.fasterxml.jackson.annotation.JsonValue; {{#vars}}{{#isEnum}}{{^isContainer}} {{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}} - + {{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}} private {{#useBeanValidation}}@Valid {{/useBeanValidation}}{{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};{{/vars}} @@ -34,12 +34,6 @@ import com.fasterxml.jackson.annotation.JsonValue; return this; } - {{#generateBuilders}}public {{classname}}({{#vars}}{{{datatypeWithEnum}}} {{name}}{{^-last}}, {{/-last}}{{/vars}}) { - {{#vars}} - this.{{name}} = {{name}}; - {{/vars}} - }{{/generateBuilders}} - {{#vendorExtensions.x-extra-annotation}}{{{vendorExtensions.x-extra-annotation}}}{{/vendorExtensions.x-extra-annotation}}{{#useSwaggerAnnotations}} @ApiModelProperty({{#example}}example = "{{{example}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}"){{/useSwaggerAnnotations}} @JsonProperty("{{baseName}}") @@ -51,6 +45,12 @@ import com.fasterxml.jackson.annotation.JsonValue; this.{{name}} = {{name}}; }{{/vars}} + {{#generateBuilders}}public {{classname}}({{#vars}}{{{datatypeWithEnum}}} {{name}}{{^-last}}, {{/-last}}{{/vars}}) { + {{#vars}} + this.{{name}} = {{name}}; + {{/vars}} + }{{/generateBuilders}} + @Override public boolean equals(Object o) { if (this == o) {