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)

相关推荐

  • 怎么进行IE6、IE7、IE8三大浏览器兼容性对比

    技术怎么进行IE6、IE7、IE8三大浏览器兼容性对比本篇文章给大家分享的是有关怎么进行IE6、IE7、IE8三大浏览器兼容性对比,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟

    攻略 2021年11月25日
  • php如何去掉一维数组的键值

    技术php如何去掉一维数组的键值这篇文章主要介绍“php如何去掉一维数组的键值”,在日常操作中,相信很多人在php如何去掉一维数组的键值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php

    攻略 2021年11月27日
  • CF1148H Holy Diver

    技术CF1148H Holy Diver CF1148H Holy Diver一、题目
    点此看题
    二、解法
    输入特性要求的做法就应该是移动右端点 \(r\) 然后维护一些东西。
    首先考虑怎么维护 \([

    礼包 2021年10月28日
  • 农村医保网上如何缴费,农村医疗保险网上怎么交

    技术农村医保网上如何缴费,农村医疗保险网上怎么交人登录市地税局网站后农村医保网上如何缴费,可通过“网上办税(费)厅”,进入“自助缴费”模块,采用“银税转账”或“网上银行”两种划款方式完成缴费。1.若使用“银税转账”方式,

    生活 2021年10月30日
  • 分期付款手机,买手机分期付款流程是怎样的

    技术分期付款手机,买手机分期付款流程是怎样的首先自己需要在自己的支付方式中绑定银行卡,在手机分期的时候需要使用到自己的身份证来证明自己的身份,自己只需要携带自己的身份证以及银行卡到营业厅跟她说自己要办理分期付款的业务即可

    生活 2021年10月30日
  • 基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现

    技术基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现 基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现基于JAVA springboot+VUE前后端分离

    礼包 2021年10月27日