Spring5路径匹配器PathPattern有什么用

技术Spring5路径匹配器PathPattern有什么用这篇文章主要为大家展示了“Spring5路径匹配器PathPattern有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并

本文主要给大家展示“Spring5路径匹配器PathPattern有什么用”,简单易懂,组织清晰,希望能帮你解决疑惑。让边肖带领大家学习《Spring5路径匹配器PathPattern有什么用》一文。

Spring5路径匹配器PathPattern

PathPattern处理url地址匹配的速度更快,它与AntPathMatcher的主要区别如下:

00-1010如果在路径中间使用* *会得到一个错误;

@ GetMapping((/funyi/* *)

public stringact1(){ 0

return '/funyi/* * ';

}

1.PathPattern 只支持结尾部分使用 **

,同时可以匹配多级路径,得到的值赋给对应控制器方法的参数路径;

@GetMapping('/funyi/{*path} ')

public void act2(@ PathVariableStringPath){ 0

system . out . println(' path=' path ');

}回弹项目可以通过添加以下配置来打开路径模式:

@配置

public class webconfigimplesswebmvcconfigurer {

@覆盖

publicavitconfigurepath match(path matcheconfigurerconfigurer){ 0

configurer . SetPatternParser(NewPathPatternParser());

}

}

2.PathPattern 支持使用例如 {*path}

Antpathmacher:第一版Sping于2013年推出。

Pathpattern:由Spring 5引入,在包中:org . Spring framework . web . util . pattern . path pattern,其模块为spring-web。可以看出,它是专门为Web设计的“工具”。

PathPattern去掉了Ant这个词,但保持了很好的向下兼容性:除了不支持* *写在路径中间(以消除歧义)之外,其他匹配规则在行为上与AntPathMatcher一致,并加入了对{*pathVariable}的强支持。总的来说,可以认为后者与前者是兼容的。

PathPattern比AntPathMatcher具有更好的性能。理论上,模式越复杂,PathPattern的优势就越明显。

AntPathMatcher可以用于非web环境,而PathPattern只适用于Web环境。所以PathPattern并不能完全取代AntPathMatcher。

在内部,AntPathMatcher执行纯字符串操作和比较。另一方面,对于任何字符串模式,PathPattern最终都将被解析为几段PathElement,它们以链式结构连接起来表示模式,形成一个对象数据。这种结构化表示使可读性更强、更灵活,从而获得更好的性能。

两者简单使用示例:

newAntPathMatcher()。match('/api/v1/** ','/API/v1/2/3 * * ');

newPathPatternParser()。解析('/api/v1/** ')。匹配项(PathContainer . ParsePath('/API/v1/2/3 * * ');

//每个pathPattern字符串对应一个PathPatternParser,每个parsedPath字符串对应一个pathcontainer。可能有小伙伴会说:在服务层,甚至在道层,我可以正常使用路径模式对象。为什么呢?

这个问题就相当于:HTTP servlet request属于web层的特殊组件,但是你仍然可以把它传递给Service层甚至Dao层使用,编译运行的时候也不会出错。

以上就是文章“Spring5 PathPattern匹配器有什么用?”感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115593.html

(0)

相关推荐

  • 视频服务器为什么推荐美国服务器

    技术视频服务器为什么推荐美国服务器美国视频服务器主要是指用于部署视频直播或者点播的流媒体SDK服务器。美国视频服务器一般采用独享的物理服务器。虚拟机不同,用户可以自行管理所有硬件资源,直接控制服务器的负载,不受于其他用户

    礼包 2021年11月1日
  • 如何探讨Java代理模式与反射机制的实际应用

    技术如何探讨Java代理模式与反射机制的实际应用如何探讨Java代理模式与反射机制的实际应用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java提供了一套

    攻略 2021年11月21日
  • DIY方式怎样构建数据库应用程序

    技术DIY方式怎样构建数据库应用程序这期内容当中小编将会给大家带来有关DIY方式怎样构建数据库应用程序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在构建、部署和维护数据库管理系统时,

    攻略 2021年11月30日
  • 0392-判断子序列

    技术0392-判断子序列 0392-判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
    字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串

    礼包 2021年12月5日
  • Spring Cloud 超时和重试机制是什么

    技术Spring Cloud 超时和重试机制是什么这篇文章给大家介绍Spring Cloud 超时和重试机制是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。本文基于Spring Cloud Gr

    攻略 2021年10月20日
  • 1063 Set Similarity (25 分),set)

    技术1063 Set Similarity (25 分),set) 1063 Set Similarity (25 分)(set)Given two sets of integers, the simi

    礼包 2021年11月27日