当我使用@Valid中的注解验证 bean 时javax.validation,对于我得到的一些对象ConstraintViolationException,对于一些我得到的是MethodArgumentNotValidException.
我知道,如果我验证@ResponseBody控制器中的任何内容,它会抛出一个MethodArgumentNotValidException.
@MyCustomValidation但是对于类级别的某些自定义验证(例如) ConstraintViolationException,即使它正在 @ResponseValidation 中进行验证,它也会抛出。
对于不同 REST 端点的一些其他自定义验证,它会抛出MethodArgumentNotValidException.
我发现理解它的行为有点困难。
@PostMapping(path = "/someEndPoint")
@Validated(OnASave.class)
public ResponseEntity<ClassA> saveObjA(@Valid @RequestBody ClassA objA)
结果 - 抛出MethodArgumentNotValidException
@PostMapping(path = "/someOtherEndPoint")
@Validated(OnBSave.class)
public ResponseEntity<ClassB> saveObjB(@Valid @RequestBody ClassB objB)
结果 - 抛出ConstraintViolationException
和ClassA都有ClassB自定义验证。
慕妹3146593
aluckdog
翻阅古今
相关分类