Closed xgblack closed 9 months ago
您好,建议配一下fail_fast。不配的话,某个属性有ValidationStatusCode,会取ValidationStatusCode的值;对于没有ValidationStatusCode的字段,会取default-validate-error-code: -2
@Bean
public Validator validator() {
ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
.configure()
.addProperty("hibernate.validator.fail_fast", "true")
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
return validator;
}
Describe the bug ValidationStatusCode注解添加在属性上时,有概率不生效。
To Reproduce Steps to reproduce the behavior: 配置文件指定
default-error-code: -1
default-validate-error-code: -2
定义参数对象如下:请求接口直接发送{}
Expected behavior 正常情况下,按照代码逻辑应当返回ValidationStatusCode的默认值,即code=1 。但是最连续请求该接口的过程中发现,偶尔出现code=-2 接口为连续请求,中间未重新运行,未重新编译代码。 经过debug发现,
List<FieldError> fieldErrors = e.getFieldErrors();
获取到的list中的顺序会变,当没有添加注解的属性排在前面的时候,fieldErrors.get(0);
无法正确获取添加的注解Screenshots
Desktop (please complete the following information):
Additional context