springboot升级过程中踩坑定位分析记录 | 京东云技术团队
原文中文,约3800字,阅读约需9分钟。
📝
内容提要
文章讲述了修复一个小bug引入更大bug的故事。升级spring版本后,APP无法访问,经过分析发现是过滤器顺序未配置。最终发现是HiddenHttpMethodFilter默认配置被修改,添加参数后可正常使用。修复方案有启用HiddenHttpMethodFilter、调整过滤器顺序和修改过滤器M内部的逻辑。
🎯
关键要点
-
修复小bug引入更大bug的故事
-
因spring框架版本5.1.5.RELEASE出现偶发事故,升级至5.2.12.RELEASE
-
选择该版本原因包括经过验证和修复了之前的bug
-
升级后APP无法访问,分析发现是过滤器顺序未配置
-
过滤器M和A的默认执行顺序为M->A,修改为A->M后正常
-
HiddenHttpMethodFilter过滤器在升级后默认配置由启用改为禁用
-
添加-Dspring.mvc.hiddenmethod.filter.enabled=true参数后可正常使用
-
分析源码发现request.getParameter是解决问题的关键
-
修复方案包括启用HiddenHttpMethodFilter、调整过滤器顺序和修改过滤器M逻辑
🏷️