@Valid或@Validate的参数后必须紧挨着一个BindingResult 参数,否则spring会在校验不通过时直接抛出异常
public InternalResponseVo updateSource(@Validated @RequestBody(required = false) SourceValidator sourceValidator, @PathVariable int id, BindingResult bindingResult) {}
如果出现错误会直接抛出异常,方法不会执行。只需要修改bindingresult的位置使其挨着校验入参即可
修改后:
public InternalResponseVo updateSource(@Validated @RequestBody(required = false) SourceValidator sourceValidator, BindingResult bindingResult, @PathVariable int id){}