【问题标题】:Spring Boot 2.6.7 URL case insensitive configurationSpring Boot 2.6.7 URL不区分大小写的配置
【发布时间】:2023-02-03 04:34:07
【问题描述】:

在 Spring Boot 2.6.7 中,我想将所有控制器的 URL 设置为不区分大小写。

我试过了,但没用

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        AntPathMatcher matcher = new AntPathMatcher();
        matcher.setCaseSensitive(false);
        configurer.setPathMatcher(matcher);
    }
}

我们可以通过 application.properties 文件配置它吗?

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现问题。
  • 你要箱子敏感但你调用 matcher.setCaseSensitive(真的)?
  • matcher.setCaseSensitive(true) 拼写错误。我也试过 false 并实现了“WebMvcConfigurer”接口,但这些都不起作用

标签: java spring-boot


【解决方案1】:

在 @Xiidref 解决方案之后,您可以在下面添加。

(如果您使用的是 spring-boot,只需将其添加到您的属性中即可)

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

在你的application.properties 文件中。

【讨论】:

    【解决方案2】:

    根据文档AntPathMatcher Documentation setCaseSensitive 的布尔值应该是 false 以获得不区分大小写的行为。

    所以更换

    matcher.setCaseSensitive(true);
    

    经过

    matcher.setCaseSensitive(false);
    

    【讨论】:

    • 不起作用,并且此类“WebMvcConfigurerAdapter”在 springboot 2.6.7 中也已弃用
    • 实现“WebMvcConfigurer”接口而不是“WebMvcConfigurerAdapter”类。 @AhmadRaza
    • `` @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void configurePathMatch(PathMatchConfigurer configurer) { AntPathMatcher matcher = new AntPathMatcher(); matcher.setCaseSensitive(false);配置器.setPathMatcher(匹配器); } } `` @Shahrukh 这也行不通
    猜你喜欢
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2016-06-04
    • 2011-10-14
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    相关资源
    最近更新 更多