扫码阅读
手机扫码阅读

Spring5 里边的新玩法!这种 URL 请求让我涨见识了!

33 2024-11-02

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Spring5 里边的新玩法!这种 URL 请求让我涨见识了!
文章来源:
江南一点雨
扫码关注公众号
文章摘要

Spring MVC 的新特性:PathPatterns

松哥最近发布了一套关于 Spring Boot 的视频教程,同时分享了关于 Spring5SpringMVC 源码的研究成果。新版本的SpringMVC引入了一个新方法 initLookupPath,与旧版本的请求地址获取方式有所不同,主要区别在于引入了 usesPathPatterns 选项。

AntPathMatcher 的使用

在之前的 SpringMVC 版本中,@RequestMapping 注解及其变体如 @GetMapping@PostMapping 等可以配合通配符来匹配不同的 URL 地址。这些通配符包括 ***?,它们分别用于匹配多个目录、多个字符和单个字符。这一功能由 AntPathMatcher 支持,但其效率低下且在处理 URL 编码时不便。

PathPattern 的优势

PathPattern 是为 Web 应用设计的新型 URL 匹配解决方案,提供了比 AntPathMatcher 更快的匹配处理。与 AntPathMatcher 相比,PathPattern 仅支持在路径结尾使用 **,并且支持用 {*path} 的方式进行匹配,能够匹配多层路径并赋值给变量。从 Spring5.3 版本开始,Servlet 应用推荐使用 PathPattern,而对于 WebFlux 应用,PathPattern 是唯一的解决方案。

如何启用 PathPattern

虽然 SpringMVC 默认使用 AntPathMatcher,但可以通过 WebMvcConfigurer 接口和 PathMatchConfigurer 类来启用 PathPattern。示例代码如下:

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        configurer.setPatternParser(new PathPatternParser());
    }
}

添加该配置后,SpringMVC 会使用 PathPattern 来解析请求 URL。

小结

松哥介绍了 Spring5 新引入的 PathPatterns 功能,这是 SpringMVC 的一次重要更新。要体验这一新特性,需要确保使用的是 Spring5.3 或以上版本。松哥也祝愿大家周末愉快。

想要了解更多内容?

查看原文:Spring5 里边的新玩法!这种 URL 请求让我涨见识了!
文章来源:
江南一点雨
扫码关注公众号