淘东电商项目(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这个包里,不然捕获不了异常:

会员启动类 微信启动类
淘东电商项目(18) -全局异常捕获_第1张图片 淘东电商项目(18) -全局异常捕获_第2张图片

3.自定义抛异常,在existMobile接口抛出异常:
淘东电商项目(18) -全局异常捕获_第3张图片

2. 测试

启动会员微服务,使用Swagger访问existMobile接口(根据手机号码查询是否已经存在):
淘东电商项目(18) -全局异常捕获_第4张图片
可以看到进入了断点:
淘东电商项目(18) -全局异常捕获_第5张图片

总结

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

你可能感兴趣的:(#,淘东电商项目)