问题: 项目其他模块功能都正常,唯独用户信息模块加载出现500参数错误无法访问
排查1: 可能是登录信息没有进入redis,导致获取缓冲信息没有获取到,登录客户端发现redis中有该用户信息,排除!
排查2: 既然redis中有信息,但是通过key确获取不到啊! 对!没错key可能是空值,果断打印key,果然是null定位错误!
排查3: 定位错误,接着查找key被赋值的源头…查到key赋值只有在拦截器中进行赋值,很明显,拦截器没有起作用,到此,错误根源真正定位成功!!!
解决:
- 错误定位成功,但是莫名其秒拦截器不起作用了,因为这块之前没有问题,赶紧查资料,发现要不是没有注解没有加,要么是配置没有(如果大家首次使用拦截器并且没有起作用,可以从这两个方面排查),但是我这个是之前ok,突然出现的错误,发现和这两个没有关系,所以排除
- 原来我只是注意到继承WebMvcConfigurer的类中查找,没有找到解决方法,接着网上排错的WebMvcConfigurationSupport引起我的注意,我赶紧查自己代码发现有使用,至此真正的错误凶手出现,原来测试时swagger配置拦截器继承了WebMvcConfigurationSupport,导致之前写的WebMvcConfigurer就不会生效,两者之间会有冲突,选择第一个WebMvcConfigurationSupport为主,立马去掉WebMvcConfigurationSupport的配置,重新启动程序,👌了
出现错误很正常,排错思路很重要!!!哈哈哈,新年的新礼物“bug”已收到并解决还是很开心的.