现在有两种解决思路。
- 及时解决 使用Result.fail() 返回异常
- 异常全部抛出,使用统一拦截类拦截拿到异常,读取错误码及其其他信息,返回。
这里来探讨一下第二种方式。
- 我们可以将异常信息放在数据库中,在初始化Bean时我们取到数据放到全局(statis)map中,当有新增错误码时,可以通过mq获取到变化的错误码,并更新mq
- 声明一个异常类(进程RuntimeException),类里有错误码,错误信息,错误描述
- 遇到异常或错误信息,将错误码(一般放在枚举中)放在异常类中抛出
- 全局拦截类拦截到后,取到错误码,在通过错误码在map中取到异常信息及其描述返回。
使用fail和全局拦截的方式尽量不要混用,防止混乱