SpringMVC的统一处理
基于SpringMVC的配置类扩展
自定义一个配置类,实现WebMvcConfigurer接口,通过重写方法就可以自定义某些配置
1.重写configurePathMatch
//统一访问前缀添加 @Override public void configurePathMatch(PathMatchConfigurer configurer) { //设置路径前缀的规则,以第二个参数的返回值作为请求映射方法是否添加前缀 configurer.addPathPrefix("api", c->true); }
2.添加路径拦截器
拦截器(Interceptor) 这个概念 其实在Spring中,包含了两种: 实现HandlerInterceptor或者MethodInterceptor接口
public void addInterceptors(InterceptorRegistry registry) { /** * 拦截器:用户会话统一管理 * 前端页面: * 要拦截的路径: * (1)添加拦截路径:/article.html, ... * (2)添加/**,排除/login.html,... * 后端接口,可以也采取(2)的方式,排除不拦截的后端接口 */ registry.addInterceptor(参数是拦截器对象) //前端:添加要拦截的页面(缺陷,新加敏感页面又得改拦截代码) .addPathPatterns("/page/main.html") //拦截所有后端接口,排除用户注册,登录 .addPathPatterns("/api/**") .excludePathPatterns("/api/user/login") .excludePathPatterns("/api/user/register"); }