全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Spring Boot 定制URL匹配规则的方法

事情的起源:有人问我,说编写了一个/hello访问路径,但是吧,不管是输入/hello还是/hello.html,还是/hello.xxx都能进行访问。当时我还以为他对代码进行处理了,后来发现不是,后来发现这是Spring Boot路由规则。好了,有废话了下,那么看看我们解决上面这个导致的问题。

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

核心的开发步骤就是两步:

(1)启动类 extends WebMvcConfigurationSupport

(2)重写configurePathMatch方法;

具体实现代码:

package com.kfit; 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
/**
 *
 * @author Angel --守护天使
 * @version v.0.1
 * @date 2016年7月29日下午7:06:11
 */
@SpringBootApplication
public class ApiCoreApp extends WebMvcConfigurationSupport{
  
  
  /**
   * 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")
  public String 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路径了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# springboot  # 路由匹配  # spring  # url  # 匹配  # boot  # spring mvc url匹配禁用后缀访问操作  # Springboot配置suffix指定mvc视图的后缀方法  # spring boot 如何请求后缀匹配  # 设置为  # 都能  # 当此  # 重写  # 都是  # 这是  # 好了  # 我还  # 定界  # 他对  # 问我  # 这种情况  # 写了  # 两句  # 会后  # 两步  # 话了  # 开发人员  # 大家多多  # 应用程序 


相关文章: 如何在企业微信快速生成手机电脑官网?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  如何确保FTP站点访问权限与数据传输安全?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何通过服务器快速搭建网站?完整步骤解析  建站之星如何取消后台验证码生成?  C#怎么创建控制台应用 C# Console App项目创建方法  定制建站是什么?如何实现个性化需求?  如何在IIS管理器中快速创建并配置网站?  英语简历制作免费网站推荐,如何将简历翻译成英文?  长沙企业网站制作哪家好,长沙水业集团官方网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  大连 网站制作,大连天途有线官网?  建站主机CVM配置优化、SEO策略与性能提升指南  建站VPS能否同时实现高效与安全翻墙?  ,怎么用自己头像做动态表情包?  怎么将XML数据可视化 D3.js加载XML  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何配置IIS站点权限与局域网访问?  如何访问已购建站主机并解决登录问题?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  如何用西部建站助手快速创建专业网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何基于云服务器快速搭建网站及云盘系统?  如何通过智能用户系统一键生成高效建站方案?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  网页设计网站制作软件,microsoft office哪个可以创建网页?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在云主机快速搭建网站站点?  建站之星免费版是否永久可用?  建站之星安装后界面空白如何解决?  名字制作网站免费,所有小说网站的名字?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  建站之星安装失败:服务器环境不兼容?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  建站之星如何快速解决建站难题?  建站之星×万网:智能建站系统+自助建站平台一键生成  制作表格网站有哪些,线上表格怎么弄?  建站之星导航配置指南:自助建站与SEO优化全解析  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  定制建站流程解析:需求评估与SEO优化功能开发指南  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何通过虚拟机搭建网站?详细步骤解析  北京网站制作的公司有哪些,北京白云观官方网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  如何登录建站主机?访问步骤全解析  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。