本章节,我会给大家讲解Spring Boot中定制URL匹配规则的方法。
一.URL路径匹配
1.概述
在Spring Boot1.5的版本中,假如我们定义了一个’/show‘接口,默认情况下,我们可以按照/show来访问页面,也可以按照/show.do这样带有“.do”后缀的接口来访问资源。
但是到了Spring Boot2.x之后,我们发现再使用.do的扩展名就无法访问资源了。
也就是说,现在的Spring Boot在默认情况下,禁用了后缀匹配模式!
但是我们在开发Web应用程序时,并不总是使用一些默认的配置。有时,我们要创建包含字符 “.” 的RESTful风格的URL;有时候我们也希望识别斜杠的存在。这些需求,Spring都为我们提供了接口供开发人员按照需求定制。
“.” 字符在Spring中作为分隔符定义格式,例如/projects/spring-boot.json中的 “点” ,另外我们也可能想识别路径尾部的斜杠,如“/home/”中的 “/” 等。
2.案例说明
我们在SpringBoot1.x版本中,可以创建如下控制器接口:
@RestController
@RequestMapping("/")
public class HelloController {
@RequestMapping("hello")
public String showHello() {
return "Hello,一一哥Sun!";
}
}
在Spring Boot1.x版本的控制器中,我们可以使用下面的规则来进行访问:
/hello
/hello.*
但是如果我们将工程升级到SpringBoot2.x后,默认情况下我们只能使用/hello访问,那么怎样才能使用1.x的访问规则呢?
接下来我就带大家在SpringBoot 2.x版本中实现一下,进行自定义的URL路径匹配。
二.自定义URL路径匹配规则
1. 实现方式有2种:
- 1.代码配置类实现方式;
- 2.配置文件