本文首发于个人网站: Spring Boot实战之定制URL匹配规则
构建web应用程序时,并不是所有的URL请求都遵循默认的规则。有时,我们希望RESTful URL匹配的时候包含定界符“.”,这种情况在Spring中可以称之为“定界符定义的格式”;有时,我们希望识别斜杠的存在。Spring提供了接口供开发人员按照需求定制。
在之前的几篇文章中,可以通过WebConfiguration类来定制程序中的过滤器、格式化工具等等,同样得,也可以在这个类中用类似的办法配置“路径匹配规则”。
假设ISBN格式允许通过定界符“.”分割图书编号和修订号,形如 [isbn-number].[revision]
@Override public void configurePathMatch(PathMatchConfigurer configurer) { configurer.setUseSuffixPatternMatch(false).setUseTrailingSlashMatch(true); }
mvn spring-boot:run http://localhost:8080/books/9781-1234-1111.1
http://localhost:8080/books/9781-1234-1111
configurePathMatch(PathMatchConfigurer configurer) 函数让开发人员可以根据需求定制URL路径的匹配规则。
http://localhost:8080/books/9781-1234-1111
和 http://localhost:8080/books/9781-1234-1111/
含义相同。 如果需要定制path匹配发生的过程,可以提供自己定制的 PathMatcher 和 UrlPathHelper ,但是这种需求并不常见。
本号专注于后端技术、JVM问题排查和优化、Java面试题、个人成长和自我管理等主题,为读者提供一线开发者的工作和成长经验,期待你能在这里有所收获。