Spring BindingResult获取不到结果可能的原因之一 参数顺序 没有紧挨着校验参数

时间:2022-07-22
本文章向大家介绍Spring BindingResult获取不到结果可能的原因之一 参数顺序 没有紧挨着校验参数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

@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){}