我正在使用弹簧休息开发休息服务,在我的代码的其余层中,我使用@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注释吗?