Description
We are trying to re-use some variable declarations which are used across multiple operations with in a single API with json schema restrictions for validation annotations.
When we reference any string or number variable definitions in othe object types in swagger, the validation annotations are not added in java POJO calsses.
Swagger-codegen version
2.2.3
Swagger declaration file content
definitions:
stringPattern:
type: string
minLength: 1
maxLength: 20
pattern: '^([a-zA-Z0-9])*$'
decimalNumber:
type: number
minimum: 0
maximum: 9999999999999.99
multipleOf: 0.01
ApiRequest:
type: object
properties:
stringPattern:
$ref: '#/definitions/stringPattern'
decimalNumber:
$ref: '#/definitions/decimalNumber'
inlineString:
type: string
minLength: 1
maxLength: 20
pattern: '^([a-zA-Z0-9])*$'
inlineDecimal:
type: number
minimum: 0
maximum: 9999999999999.99
multipleOf: 0.01
Command line used to generate
Running the maven generate-sources with below config options in plugin.
language:java
configOptions
useBeanValidation:true
recursiveBeanValidation:true
Generated Java class :
/**
- Get stringPattern
- @return stringPattern
/
@ApiModelProperty(value = "")
public String getStringPattern() {
return stringPattern;
}
/
- Get decimalNumber
- @return decimalNumber
**/
@Valid
@ApiModelProperty(value = "")
public BigDecimal getDecimalNumber() {
return decimalNumber;
}
/**
- Get inlineString
- @return inlineString
/
@pattern(regexp="^([a-zA-Z0-9])*$") @SiZe(min=1,max=20) @ApiModelProperty(value = "")
public String getInlineString() {
return inlineString;
}
/
- Get inlineDecimal
- minimum: 0
- maximum: 9999999999999.99
- @return inlineDecimal
**/
@Valid
@DecimalMin("0") @DecimalMax("9999999999999.99") @ApiModelProperty(value = "")
public BigDecimal getInlineDecimal() {
return inlineDecimal;
}
Description
We are trying to re-use some variable declarations which are used across multiple operations with in a single API with json schema restrictions for validation annotations.
When we reference any string or number variable definitions in othe object types in swagger, the validation annotations are not added in java POJO calsses.
Swagger-codegen version
2.2.3
Swagger declaration file content
Command line used to generate
Running the maven generate-sources with below config options in plugin.
language:java
configOptions
useBeanValidation:true
recursiveBeanValidation:true
Generated Java class :
/**
/
@ApiModelProperty(value = "")
public String getStringPattern() {
return stringPattern;
}
/
**/
@Valid
@ApiModelProperty(value = "")
public BigDecimal getDecimalNumber() {
return decimalNumber;
}
/**
/
@pattern(regexp="^([a-zA-Z0-9])*$") @SiZe(min=1,max=20) @ApiModelProperty(value = "")
public String getInlineString() {
return inlineString;
}
/
**/
@Valid
@DecimalMin("0") @DecimalMax("9999999999999.99") @ApiModelProperty(value = "")
public BigDecimal getInlineDecimal() {
return inlineDecimal;
}