简介
springboot接口url匹配后缀,例如url访问/test,匹配后缀之后,访问/test.*同样可以;
项目实践
package com.springboot.sixmonth.common.filter;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 过滤器
* @author hqc
* @Date 2019年3月20日
*
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* -设置url后缀模式匹配规则
* -该设置匹配所有的后缀,使用.do或.action都可以
*/
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setUseSuffixPatternMatch(true) //设置是否是后缀模式匹配,即:/test.*
.setUseTrailingSlashMatch(true); //设置是否自动后缀路径模式匹配,即:/test/
}
/**
* -该设置严格指定匹配后缀*.do或.action,但有风险
* @param dispatcherServlet servlet调度器
* @return ServletRegistrationBean
*/
// @Bean
// public ServletRegistrationBean servletRegistrationBean(DispatcherServlet //dispatcherServlet) {
// ServletRegistrationBean servletServletRegistrationBean = new //ServletRegistrationBean(dispatcherServlet);
// servletServletRegistrationBean.addUrlMappings("*.do");//指定.do后缀,可替换其他后缀
// return servletServletRegistrationBean;
// }
}
注意
如果重写了servletRegistrationBean方法,即严格限制了.do或.action的后缀访问,这样做是有风险的,会对url访问产生较大的影响,不建议使用;
如果需要匹配后缀,只需要重写第一个方法即可,即configurePathMatch,一般生产环境不会进行太严格的要求;
总结
实践出真知,自己动手,丰衣足食!