Java中的OpenApi multipleOf
我尝试在OpenApi规范中使用multipleOf属性,但生成的java代码不包含任何注释或逻辑来验证multipleOf。如何使用multipleOf属性验证JSON输入?对于规范定义,我们使用OpenApi 3.0.1 在这里您可以看到multipleOf的用法:Java中的OpenApi multipleOf,java,validation,swagger,openapi,openapi-generator,Java,Validation,Swagger,Openapi,Openapi Generator,我尝试在OpenApi规范中使用multipleOf属性,但生成的java代码不包含任何注释或逻辑来验证multipleOf。如何使用multipleOf属性验证JSON输入?对于规范定义,我们使用OpenApi 3.0.1 在这里您可以看到multipleOf的用法: abc\u字段: 类型:编号 description:ABC字段的说明 最低:0 最大值:999999999.99 倍数:0.01 示例:200.57 是否有任何解决方案来解决我的验证问题?我使用的验证api是javax.va
abc\u字段:
类型:编号
description:ABC字段的说明
最低:0
最大值:999999999.99
倍数:0.01
示例:200.57
是否有任何解决方案来解决我的验证问题?我使用的验证api是javax.validation
,但是没有针对multipleOf的任何注释
为abc_字段生成的代码如下所示:
public BetraegeKennzahlen abcField(BigDecimal abcField){
this.abcField=abcField;
归还这个;
}
@ApiModelProperty(
示例=“200.57”,
value=“ABC字段的说明”
)
@有效的
@小数点(“0”)
@小数点最大值(“999999999.99”)
公共大十进制abcField(){
返回此.abcField;
}
公共无效设置字段(BigDecimal字段){
this.abcField=abcField;
}
openapi生成器不支持multipleOf属性
可以为字段添加自定义约束验证器
public class CustomValidator implements Validator {
@Override
public boolean supports(Class<?> aClass) {
return GeneratedClass.class.isAssignableFrom(aClass);
}
@Override
public void validate(Object o, Errors errors) {
GeneratedClass generatedClass = (GeneratedClass)o;
//validate
}
}
@InitBinder("generatedClass")
protected void initBinderForAvatarId(WebDataBinder binder) {
binder.addValidators(new CustomValidator());
}