淘东电商项目(18) -全局异常捕获

引言

在上一节《淘东电商项目(17) -DTO接口细分》,主要讲解如何使用DTO来细分接口中的参数,并提高接口的安全性。

代码已提交至Github(版本号:3db9d12fa50b58dbaa7ed5694163b7a2235c7a64),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

本文主要讲解全局异常捕获。

本文目录结构:
l____引言
l____ 1. 定义全局异常捕获类
l____ 2. 测试
l____总结

1. 定义全局异常捕获类

1.在通用模块(taodong-shop-common-core)增加全局捕获异常捕获类:

/**
 * description: 全局捕获异常
 * create by: YangLinWei
 * create time: 2020/3/3 11:09 上午
 */
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler extends BaseApiService<JSONObject> {
    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public BaseResponse<JSONObject> exceptionHandler(Exception e) {
        log.info("###全局捕获异常###,error:{}", e);
        return setResultError("系统错误!");
    }
}

2.移动会员启动类(AppMember)以及微信启动类(AppWeixin)到com.ylw这个包里,不然捕获不了异常:

会员启动类 微信启动类
在这里插入图片描述 在这里插入图片描述

3.自定义抛异常,在existMobile接口抛出异常:
在这里插入图片描述

2. 测试

启动会员微服务,使用Swagger访问existMobile接口(根据手机号码查询是否已经存在):
在这里插入图片描述
可以看到进入了断点:
在这里插入图片描述

总结

本文主要讲解了全局异常捕获的方式。

发布了2653 篇原创文章 · 获赞 5024 · 访问量 46万+

猜你喜欢

转载自blog.csdn.net/qq_20042935/article/details/104627994