@Valid注释不强制验证,除非从rest层调用它

时间:2017-04-10 13:32:20

标签: java spring rest validation

我正在使用弹簧休息开发休息服务,在我的代码的其余层中,我使用@Valid注释用户输入以触发验证。

public ResponseEntity postOrder(@Valid @RequestBody Order order) {

        orderService.postSingleOrder(order);

        return ResponseEntity.noContent().build();
}

这很好用,但是当我尝试在基于ApplicationListener<ApplicationReadyEvent>触发的某些代码中执行相同操作时,@ Valid注释没有触发任何验证工作,我不得不手动调用验证器如下:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
validator.validate(order);

知道如何激活@Valid注释吗?

0 个答案:

没有答案