1.配置拦截器
在spring boot2.0之后,通过继承这个WebMvcConfigurer类,就可以完成拦截
.创建自定义拦截器com.lqw.vblog.interceptor;.创建拦截package com.lqw.vblog.interceptor;import org.springframework.stereotype.Component;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@Componentpublic class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) throws Exception{ String uri =request.getRequestURI(); //请求路径中以all结尾的,都拦截,直接返回500 if(uri.endsWith("all")){ response.sendError(500); return false; } //不符合的,通过请求,不拦截 return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { }}2.在WebAPPConfigurer增加拦截package com.lqw.vblog.interceptor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.InterceptorRegistration;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class WebAPPConfigurer implements WebMvcConfigurer { @Autowired MyInterceptor myInterceptor; @Override public void addInterceptors(InterceptorRegistry interceptorRegistry){ InterceptorRegistration registration=interceptorRegistry.addInterceptor(new MyInterceptor()); //拦截/admin/aritcle/的所有请求 registration.addPathPatterns("/admin/article/**"); //不拦截login请求 registration.excludePathPatterns("/login"); }}
![9b8cd1d2af42d6c61f7560f916013033.png](https://img-blog.csdnimg.cn/img_convert/9b8cd1d2af42d6c61f7560f916013033.png)
原码参考地址:https://github.com/liangqinwei/springboot_demo/tree/chapter-02/vblog