【发布时间】:2019-07-03 18:48:05
【问题描述】:
注意: 当我搜索@valid vs @validated 并且找不到答案时,我几乎阅读了所有堆栈帖子,所以我发布了这个。
我很困惑@Validated 在这里做什么。如果inputParms 无效,它会抛出javax.validation.ConstraintViolationException,甚至不会进入代码内部。但是,如果我将 @Validated 替换为 @Valid 则不会引发异常并且 bindingResult.hasErrors() 正在捕获它。
@RestController
@Validated // what is this doing ??
public class MyRestController{
@PostMapping(value="/my-data",produces= {MediaType.APPLICATION_JSON_UTF8_VALUE})
public ResponseEntity<?> doSomething(@Valid @RequestBody MyInputParam inputParms,BindingResult bindingResult){
if(bindingResult.hasErrors()) {
//do something here
}
}
}
所以如果我使用@Validated,BindingResult 一点用处都没有?
或者甚至只是简单地说@Validated 与@Valid 有何不同
【问题讨论】:
标签: java spring-boot bean-validation spring-validator