有时候在一个系统里面,可能分为两大模块,一个是手机app的api接口,一个是管理app的后台系统。两个模块都要处理异常,但两个模块处理异常的方式肯定不一样的。api接口处理异常,是要返回异常状态码,返回一个错误提示,后台系统的话需要统一跳转到一个异常处理页面。但是是在网上查了很多资料,都是说统一处理,没有分开。在这里记录一下我在开发中是怎么处理的。
我开发用的是springboot,用注解@ControllerAdvice可以全局异常拦截。看一下这个注解可以声明那些参数。
我们可以看到basePackages可以是字符串数组,说明里面是可以分包处理的。然后我们就直接把想要拦截的包赋值给basePackages就可以了。
这样:
那么这个异常拦截就只会拦截择两个包下面的异常,其他包想要拦截异常也是一样。