Spring Boot:定制URL匹配规则
2023-09-14 09:03:12 时间
构建web应用程序时,并不是所有的URL请求都遵循默认的规则。有时,我们希望RESTful URL匹配的时候包含定界符“.”,这种情况在Spring中可以称之为“定界符定义的格式”;有时,我们希望识别斜杠的存在。Spring提供了接口供开发人员按照需求定制。
在之前的几篇文章中,可以通过WebConfiguration类来定制程序中的过滤器、格式化工具等等,同样得,也可以在这个类中用类似的办法配置“路径匹配规则”。
假设ISBN格式允许通过定界符“.”分割图书编号和修订号,形如[isbn-number].[revision]
How Do 在WebConfiguration类中添加对应的配置,代码如下:@Overridepublic void configurePathMatch(PathMatchConfigurer configurer) { configurer.setUseSuffixPatternMatch(false). setUseTrailingSlashMatch(true); }通过mvn spring-boot:run启动应用程序 访问http://localhost:8080/books/9781-1234-1111.1
使用正确的URL访问的结果
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 使用 ON DUPLICATE KEY UPDATE属性控制版本 更新数据不成功 如果更新不成功会报下面的错误(此错误是自定义的): The data you want to update has been updated by another user. Please reopen and try again! 一、主要按下面的流程检查: 1、检查数据库的段alastupdatetime定义 2、检查.xml的alastupdatetime 3、要更新数据的主键是否在同一个updateByBatch中的List中重复出现
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载
相关文章
- 提升 Spring Boot 吞吐量的 7 个神技,让你的项目飞起来!
- 每天20分钟之spring boot admin
- SqlSessionTemplate详解——Mybatis+Spring Boot整合
- spring的配置文件-applicationContext.xml
- spring-boot-devtools在Idea中热部署
- maven第三方jar包打包(非spring boot)
- 7天学完Spring:Spring框架搭建和解析以及Bean对象的创建
- Spring Boot整合Mybatis Plus[极简教程]
- 烧脑巨作,Spring Boot请求处理(常用参数注解使用)
- Spring监听器-spring源码详解(五)
- spring boot 配置文件properties和YAML详解
- rabbitMQ结合spring-boot使用(3)
- Spring Boot + EasyExcel 导入导出,好用到爆,可以扔掉 POI 了!
- 居然仅用浏览器,就完成了Spring Boot应用的开发与部署!
- 什么是Spring Boot
- Spring Boot的开发环境搭建
- Spring Boot的部署方式(二)
- Spring Cloud Sleuth在Spring Boot应用程序中的集成
- Spring Cloud Security配置OAuth2客户端来访问受保护的API
- Spring 的 IoC(控制反转)
- 什么是Spring Boot详解编程语言
- Spring Boot Runner启动器详解编程语言
- Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源详解编程语言
- Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例详解编程语言
- spring boot 发邮件详解编程语言
- Spring setConnectionProperties方法:设置数据库连接的各种属性
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
- Nacos 2.0的Spring Boot Starter来了!