最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Spring Boot 定制URL匹配规则的方法
时间:2022-06-29 01:36:34 编辑:袖梨 来源:一聚教程网
事情的起源:有人问我,说编写了一个/hello访问路径,但是吧,不管是输入/hello还是/hello.html,还是/hello.xxx都能进行访问。当时我还以为他对代码进行处理了,后来发现不是,后来发现这是Spring Boot路由规则。好了,有废话了下,那么看看我们解决上面这个导致的问题。
构建web应用程序时,并不是所有的URL请求都遵循默认的规则。有时,我们希望RESTful URL匹配的时候包含定界符“.”,这种情况在Spring中可以称之为“定界符定义的格式”;有时,我们希望识别斜杠的存在。Spring提供了接口供开发人员按照需求定制。
核心的开发步骤就是两步:
(1)启动类 extends WebMvcConfigurationSupport
(2)重写configurePathMatch方法;
具体实现代码:
代码如下 | 复制代码 |
packagecom.kfit; importorg.springframework.boot.SpringApplication; importorg.springframework.boot.autoconfigure.SpringBootApplication; importorg.springframework.web.servlet.config.annotation.PathMatchConfigurer; importorg.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
/** * * @author Angel --守护天使 * @version v.0.1 * @date 2016年7月29日下午7:06:11 */ @SpringBootApplication publicclassApiCoreAppextendsWebMvcConfigurationSupport{
/** * 1、 extends WebMvcConfigurationSupport * 2、重写下面方法; * setUseSuffixPatternMatch : 设置是否是后缀模式匹配,如“/user”是否匹配/user.*,默认真即匹配; * setUseTrailingSlashMatch : 设置是否自动后缀路径模式匹配,如“/user”是否匹配“/user/”,默认真即匹配; */ @Override publicvoid configurePathMatch(PathMatchConfigurer configurer) { configurer.setUseSuffixPatternMatch(false) .setUseTrailingSlashMatch(true); }
publicstaticvoid main(String[] args) { SpringApplication.run(ApiCoreApp.class, args); } } |
其中访问代码:
代码如下 | 复制代码 |
@RequestMapping("/user") publicString hello(){ return"/user"; } |
以上代码有两句核心的代码:
代码如下 | 复制代码 |
setUseSuffixPatternMatch(boolean useSuffixPatternMatch): |
设置是否是后缀模式匹配,如“/user”是否匹配/user.*,默认真即匹配;
当此参数设置为true的时候,那么/user.html,/user.aa,/user.*都能是正常访问的。
当此参数设置为false的时候,那么只能访问/user或者/user/( 这个前提是setUseTrailingSlashMatch 设置为true了)。
setUseTrailingSlashMatch (boolean useSuffixPatternMatch):
设置是否自动后缀路径模式匹配,如“/user”是否匹配“/user/”,默认真即匹配;
当此参数设置为true的会后,那么地址/user,/user/都能正常访问。
当此参数设置为false的时候,那么就只能访问/user了。
当以上两个参数都设置为true的时候,那么路径/user或者/user.aa,/user.*,/user/都是能正常访问的,但是类似/user.html/ 是无法访问的。
当都设置为false的时候,那么就只能访问/user路径了。
相关文章
- 王者荣耀S38赛季有什么更新 12-25
- 王者荣耀S38赛季有什么更新 王者荣耀S38赛季更新内容介绍 12-25
- 世界之外12.25有什么更新 世界之外12月25日更新内容介绍 12-25
- 光遇12.25红石碎片在哪里 光遇12月25日红石碎片位置攻略 12-25
- 奇迹暖暖绚光引途第二天怎么玩 绚光引途day2庆祝之舞搭配攻略 12-25
- 无限暖暖拍照打卡位置在哪里 无限暖暖世界巡游位置全攻略 12-25