There is a place in jsonschema2pojo documentation describing possibility to enable JSR-303 annotations generation. If I understand correctly it can be done via Maven plugin configuration. Could someone show how to accomplish it, which tag in plugin configuration should be used? Thanks to all!
I think you are looking for the includeJsr303Annotations
parameter. See the plugin documentation:
includeJsr303Annotations
Whether to include JSR-303 annotations (for schema rules like
minimum
,maximum
, etc) in generated Java types. Schema rules and the annotation they produce:
maximum
=@DecimalMax
minimum
=@DecimalMin
minItems
,maxItems
=@Size
minLength
,maxLength
=@Size
pattern
=@Pattern
required
=@NotNull
Any Java fields which are an object or array of objects will be annotated with
@Valid
to support validation of an entire document tree.
- Type:
boolean
- Since: 0.3.2
- Required: No
- Expression:
${jsonschema2pojo.includeJsr303Annotations}
- Default:
false
It can be used as following:
<plugins>
<plugin>
<groupId>org.jsonschema2pojo</groupId>
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
<version>0.4.27</version>
<configuration>
<sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
<targetPackage>com.example.types</targetPackage>
<includeJsr303Annotations>true</includeJsr303Annotations>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>