您当前的位置: 首页 > 

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SSM 统一异常处理

梁云亮 发布时间:2022-05-12 17:36:38 ,浏览量:2

相关博客:SSM整合hibernate-validator

第一步:自定义异常
public class WeGoArgumentException extends RuntimeException{

    /**
     * map封装了错误的信息
     */
    @Getter
    private Map map;

    public WeGoArgumentException(Map map) {
        this.map = map;
    }

}
第二步:自定义异常处理器
@Component
@ControllerAdvice
public class WeGoArgumentExceptionHandler {

    @ResponseBody
    @ExceptionHandler(WeGoArgumentException.class)
    public Map  process(WeGoArgumentException ex){
        Map map = ex.getMap();
        return map;
    }

}
第三步:使用
@Controller
@RequestMapping("/province")
public class ProvinceController {

    @PostMapping("/add")
    public String add(@Valid Province province, BindingResult result) {
        if(result.hasErrors()){
            //如果没有通过,跳转提示
            Map map = getErrors(result);
            throw new WeGoArgumentException(map);
        }else {
            provinceService.add(province);
            //重定向到列表页面
            return "redirect:/province/list";
        }
    }
    private Map getErrors(BindingResult result) {
        Map map = new HashMap();
        List list = result.getFieldErrors();
        for (FieldError error : list) {
            map.put(error.getField(), error.getDefaultMessage());
        }
        return map;
    }
}
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.1352s