需求
在common模块添加一个GlobalExceptionHandler,在引用了common模块的其他模块抛出某个异常时,可以直接通过这个全局异常处理器return前端,异常的消息在异常里,抛出时传入参数
问题
现有common模块和oauth2模块,结构如下,oauth2模块依赖common模块
在TokenController中throw new ParameterException(“测试错误”);时,应该是可以直接返回给用户“测试错误”的response的,测试失效,用户直接收到提示Internal Server Error,不是带有消息的响应体
一种可能的原因
虽然依赖了common模块,但是com.lemongo.oauth2下的Applicaiton扫描不到com.lemongo.commons下的GlobalExceptionHandler
解决方案
通过修改oauth2的启动函数
@SpringBootApplication(scanBasePackages = {"com.lemongo"})
添加要扫描的包,这样一来,com.lemongo下面的commons和oauth2都能被到扫描到,注意不能只写"com.lemongo.commons"