SpringBoot中如何实现自定义URL规则?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
事情的起源:有人问我,说编写了一个/你好访问路径,但是吧,不管是输入/你好还是/hello.html,还是/你好。xxx都能进行访问。当时我还以为他对代码进行处理了,后来发现不是,后来发现这是春天引导路由规则。好了,有废话了下,那么看看我们解决上面这个导致的问题。
构建网络应用程序时,并不是所有的网址请求都遵循默认的规则。有时,我们希望RESTful URL匹配的时候包含定界符”。”,这种情况在春天中可以称之为“定界符定义的格式”,有时,我们希望识别斜杠的存在.Spring提供了接口供开发人员按照需求定制。
<强>核心的开发步骤就是两步:强>
(1)启动类扩展WebMvcConfigurationSupport
(2)重写configurePathMatch方法;
具体实现代码:
包com.kfit; 进口org.springframework.boot.SpringApplication; 进口org.springframework.boot.autoconfigure.SpringBootApplication; 进口org.springframework.web.servlet.config.annotation.PathMatchConfigurer; 进口org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;/* * * * @author天使——守护天使 * @version v.0.1 * @date 2016年7月29日下午7:06:11 */@SpringBootApplication 公开课ApiCoreApp延伸WebMvcConfigurationSupport {/* * * 1,WebMvcConfigurationSupport延伸 * 2,重写下面方法; * setUseSuffixPatternMatch:设置是否是后缀模式匹配,如“/用户”是否匹配/用户。*,默认真即匹配; * setUseTrailingSlashMatch:设置是否自动后缀路径模式匹配,如“/用户”是否匹配“/user/?默认真即匹配; */@Override publicvoid configurePathMatch (PathMatchConfigurer配置){ configurer.setUseSuffixPatternMatch(假) .setUseTrailingSlashMatch(真正的); } publicstaticvoid main (String [] args) { SpringApplication.run (ApiCoreApp.class, args); } }
其中访问代码:
@RequestMapping (“/user") 公共字符串hello () { return"/user"; }
以上代码有两句核心的代码:
<强> setUseSuffixPatternMatch(布尔useSuffixPatternMatch): 强>
设置是否是后缀模式匹配,如“/用户”是否匹配/用户。*,默认真即匹配。
当此参数设置为真正的时候,那么/user.html/user.aa/用户。*都能是正常访问的。
当此参数设置为假的时候,那么只能访问/用户或者/user/(这个前提是setUseTrailingSlashMatch设置为真正的了)。
<强> setUseTrailingSlashMatch(布尔useSuffixPatternMatch): 强>
设置是否自动后缀路径模式匹配,如“/用户”是否匹配“/user/?默认真即匹配。
当此参数设置为真正的会后,那么地址/用户/用户/都能正常访问。
当此参数设置为假的时候,那么就只能访问/用户了。
当以上两个参数都设置为真正的时候,那么路径/用户或者/user.aa/用户。*,/user/都是能正常访问的,但是类似/用户。html/是无法访问的。
当都设置为假的时候,那么就只能访问/user路径了。
关于SpringBoot中如何实现自定义URL规则问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。