You need to enable JavaScript to run this app. Spring Boot从2.1.6迁移至2.4版本时拦截器路径配置报错咨询
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot从2.1.6迁移至2.4版本时拦截器路径配置报错咨询

Spring Boot 2.1.6 升级至2.4 路径匹配报错解决思路

报错场景

项目从Spring Boot 2.1.6版本升级到2.4版本时,启动抛出路径匹配异常:No more pattern data allowed after {*...} or ** pattern element,触发异常的拦截器配置代码如下:

public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authInterceptor)
                .addPathPatterns("/**/test/**")
    }
}

已知Spring Boot 2.4版本默认启用PathPatternParser作为路径匹配器,停用了兼容旧写法的AntPathMatcher,开发者尝试通过配置切回AntPathMatcher未生效。

切回AntPathMatcher配置不生效的常见原因

配置失效通常不是方案本身不可行,而是细节格式问题导致配置未被Spring容器加载:

  • 配置项大小写与格式错误:正确的配置项必须小写开头,不能在键、值的前后加多余空格。常见错误写法如开头大写的Spring.mvc...、值前带空格的= ant_path_matcher,都会导致配置完全失效。
  • 不同配置文件的正确写法参考:
    • properties格式:
      spring.mvc.pathpattern.matching-strategy=ant_path_matcher
      
    • yml格式:
      spring:
        mvc:
          pathpattern:
            matching-strategy: ant_path_matcher
      
  • 版本兼容问题:Spring Boot 2.4.0 初始发布版本存在路径匹配自动配置的加载bug,该版本下即使配置格式正确也无法切换回AntPathMatcher,建议将2.4系列版本升级到2.4.13及以上的修订补丁版后再验证配置生效性。

适配新路径匹配规则的根本解决方法

切回AntPathMatcher属于临时兼容方案,Spring更高版本会彻底移除对该匹配器的支持,更推荐根据实际业务的匹配需求调整路径规则,适配PathPatternParser的语法硬限制:

PathPatternParser的核心语法限制:匹配多级路径的**通配符只能出现在整个路径模式的最末尾,不能作为中间路径段存在。

原写法/**/test/**报错的本质,就是把第一个**放在了路径最前端、中间夹杂了test路径段,违反了上述规则。可根据实际匹配需求选择对应的调整方案:

  • 如果业务的匹配范围不深,只需要覆盖最多1-2层级嵌套的test节点路径(如/test/a、/a/test/b这类),可以将原来的单条规则拆为多个合法模式:
    • 匹配根目录下的test节点及子路径:/test/**
    • 匹配1级目录下的test节点及子路径:/*/test/**
      多模式同时传入addPathPatterns,即可覆盖浅层级的匹配需求。
  • 如果业务需要匹配任意深度嵌套路径下的test节点(如/a/b/c/d/e/test/f这类多级路径),拆分单级通配符的写法会存在规则遗漏,这种场景下优先排查配置问题确保AntPathMatcher切换成功,或在拦截器内部增加自定义的路径判断逻辑,不要强依赖PathPattern的通配符实现任意深度的嵌套匹配。
  • 注意项目内所有涉及路径匹配的配置(包括静态资源映射、跨域路由、接口映射的路径规则),只要存在**放在路径中间的写法,都需要按照上述逻辑调整,否则会触发同类报错。

内容的提问来源于stack exchange,提问作者Dipesh Garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 02:06:01