首页 > 编程语言 > 详细

springBoot全局异常捕获类

时间:2020-11-02 22:28:17      阅读:43      评论:0      收藏:0      [点我收藏+]
/**
 * @ControllerAdvice 声明当前类为一个全局异常处理类
 *  在异常捕获类中可以进行视图跳转和Json响应
 * @RestControllerAdvice 声明当前类为一个全局异常处理类
 *  所有方法的都添加 @ResponseBody
 *  类中所有的方法的返回值都会被以json形式响应
 *
 *
 */
@RestControllerAdvice
public class ExceptionControllerAdvice {

    /**
     * @ExceptionHandler 捕获某个异常 赋值到方法的形参处
     * 方法形参必须为 被捕获异常或者其父类
     * @param e
     * @return
     */
    @ExceptionHandler(BindException.class)
    public R getBindException(BindException e){
//        获取异常信息
        BindingResult result = e.getBindingResult();
        List<FieldError> fieldErrors = result.getFieldErrors();
        Map map = new HashMap();
        for (FieldError fieldError : fieldErrors) {
            map.put(fieldError.getField(),fieldError.getDefaultMessage());
        }

        return R.error(1000,"参数校验异常").put("data",map);
    }

}

测试

技术分享图片

 

springBoot全局异常捕获类

原文:https://www.cnblogs.com/huahualove/p/13916612.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!