I need to annoted a type argument to apply bean validation for each Collection elements ( List, Set)
// constraint violation when some element is null
@Valid
private List<@jakarta.validation.constraints.NotNull Stubb> sample= new ArrayList<>();
but a property x-field-extra-annotation only mark a property. ex.:
// constraint violation when my list is null
@Valid
@jakarta.validation.constraints.NotNull
private List<Stubb> sample = new ArrayList<>();
for solve a problem I think about create a new one ( ex.: x-inner-validation) for use like this:
sample:
type: array
items:
x-inner-validation: '@jakarta.validation.constraints.NotNull'
allOf:
- $ref: '#/components/schemas/Stubb'
I try to edit a pojo.mustache ( JavaSpring/Pojo.mustache) follow my attempt:
property:
{{#isContainer}}
{{#useBeanValidation}}@Valid{{/useBeanValidation}}
{{#openApiNullable}}
private {{>nullableAnnotation}}{{#isNullable}}{{>nullableDataTypeBeanValidation}} {{name}} = JsonNullable.<{{{items.vendorExtensions.x-inner-validation}}}{{{datatypeWithEnum}}}>undefined();{{/isNullable}}{{^required}}{{^isNullable}}{{>nullableDataTypeBeanValidation}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};{{/isNullable}}{{/required}}{{#required}}{{^isNullable}}{{>nullableDataTypeBeanValidation}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};{{/isNullable}}{{/required}}
{{/openApiNullable}}
{{^openApiNullable}}
private {{>nullableAnnotation}}{{#isSet}}Set{{/isSet}}{{^isSet}}List{{/isSet}}<{{{items.vendorExtensions.x-inner-validation}}} {{{items.datatypeWithEnum}}}> {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}{{^defaultValue}} = new {{#isSet}}LinkedHashSet{{/isSet}}{{^isSet}}ArrayList{{/isSet}}<>(){{/defaultValue}};
{{/openApiNullable}}
{{/isContainer}}
{{^isContainer}}
getter:
public {{>nullableAnnotation}}{{#isContainer}}{{#isSet}}Set{{/isSet}}{{^isSet}}List{{/isSet}}<{{{items.vendorExtensions.x-inner-validation}}} {{{items.datatypeWithEnum}}}>{{/isContainer}}{{^isContainer}}{{>nullableDataTypeBeanValidation}}{{/isContainer}} {{getter}}() {
return {{name}};
setter
{{#jackson}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{>jackson_annotations}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{/jackson}}
public void {{setter}}({{>nullableAnnotation}}{{#isContainer}}{{#isSet}}Set{{/isSet}}{{^isSet}}List{{/isSet}}<{{{items.vendorExtensions.x-inner-validation}}} {{{items.datatypeWithEnum}}}>{{/isContainer}}{{^isContainer}}{{>nullableDataType}}{{/isContainer}} {{name}}) {
this.{{name}} = {{name}};
this config is breaking when I try to use a Set instead of List, but I paste here to try to help a develop a new config. Thank you
I need to annoted a type argument to apply bean validation for each Collection elements ( List, Set)
but a property x-field-extra-annotation only mark a property. ex.:
for solve a problem I think about create a new one ( ex.: x-inner-validation) for use like this:
I try to edit a pojo.mustache ( JavaSpring/Pojo.mustache) follow my attempt:
property:
getter:
setter
this config is breaking when I try to use a Set instead of List, but I paste here to try to help a develop a new config. Thank you