问答详情
源自:3-7 使用Hibernate对Bean参数进行校验

我觉得是不是把校验功能代码都放到ExceptionHandler里面更好呢?

老师:你好。我觉得把BindingResult放到各个Controller层面进行处理,还是代码太过分散了,是不是把相关Validation的校验规则放到ExceptionHandler层面,做一下统一的管理,更为方便一些呢?

我这边是这么添加了一下代码:

@ResponseBody
@ExceptionHandler(MethodArgumentNotValidException.class)
public JSONResult returnNotValidException(BindingResult bindingResult) {
    Map<String, String> map = new HashMap<>();

    if (bindingResult.hasErrors()) {
        List<FieldError> errors = bindingResult.getFieldErrors();
        for (FieldError error : errors) {
            map.put(error.getField(), error.getDefaultMessage());
        }
    }

    return JSONResult.errorMap(map);
}

实验下来,也可以得到和课程视频一样效果的针对参数的校验功能效果,请老师帮忙看一下,是否我这边的思考和处理方案上,还存在有什么没有考虑到,或者不足的地方,谢谢。

提问者:慕勒3498910 2023-06-10 22:40

个回答