JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Spring Boot实战之定制URL匹配规则

wys521 2024-11-05 12:49:55 精选教程 26 ℃ 0 评论

本文首发于个人网站:http://www.javaadu.online/?p=649

构建web应用程序时,并不是所有的URL请求都遵循默认的规则。有时,我们希望RESTful URL匹配的时候包含定界符“.”,这种情况在Spring中可以称之为“定界符定义的格式”;有时,我们希望识别斜杠的存在。Spring提供了接口供开发人员按照需求定制。

在之前的几篇文章中,可以通过WebConfiguration类来定制程序中的过滤器、格式化工具等等,同样得,也可以在这个类中用类似的办法配置“路径匹配规则”。

假设ISBN格式允许通过定界符“.”分割图书编号和修订号,形如[isbn-number].[revision]

实战

  • 在WebConfiguration类中添加对应的配置,代码如下:
  • 通过mvn spring-boot:run启动应用程序
  • 访问http://localhost:8080/books/9781-1234-1111.1
  • 访问http://localhost:8080/books/9781-1234-1111

分析

configurePathMatch(PathMatchConfigurer configurer)函数让开发人员可以根据需求定制URL路径的匹配规则。

  • configurer.setUseSuffixPatternMatch(false)表示设计人员希望系统对外暴露的URL不会识别和匹配.后缀。在这个例子中,就意味着Spring会将9781-1234-1111.1当做一个isbn*参数传给BookController。
  • configurer.setUseTrailingSlashMatch(true)表示系统不区分URL的最后一个字符是否是斜杠/。在这个例子中,就意味着http://localhost:8080/books/9781-1234-1111和http://localhost:8080/books/9781-1234-1111/含义相同。

如果需要定制path匹配发生的过程,可以提供自己定制的PathMatcher和UrlPathHelper,但是这种需求并不常见。

Spring Boot 1.x系列

  1. http://www.javaadu.online/?p=487
  2. http://www.javaadu.online/?p=495
  3. http://www.javaadu.online/?p=499
  4. http://www.javaadu.online/?p=515
  5. http://www.javaadu.online/?p=518
  6. http://www.javaadu.online/?p=521
  7. http://www.javaadu.online/?p=526
  8. http://www.javaadu.online/?p=530
  9. http://www.javaadu.online/?p=535
  10. http://www.javaadu.online/?p=538
  11. http://www.javaadu.online/?p=546
  12. http://www.javaadu.online/?p=575
  13. http://www.javaadu.online/?p=588
  14. http://www.javaadu.online/?p=590
  15. http://www.javaadu.online/?p=593
  16. http://www.javaadu.online/?p=633
  17. http://www.javaadu.online/?p=637
  18. http://www.javaadu.online/?p=646

本号专注于后端技术、JVM问题排查和优化、Java面试题、个人成长和自我管理等主题,为读者提供一线开发者的工作和成长经验,期待你能在这里有所收获。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表