天天看点

springboot之如何使用拦截器Interceptor

如何使用拦截器Interceptor

回顾一下:springMVC时怎么用?自己写个Interceptor,继承HandlerInterceptor

然后在xml中配置

springboot使用拦截器,方法差不多:

第一步:定义一个拦截器

public class AccessInterceptor implements HandlerInterceptor{

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		
		System.out.println("进入 AccessInterceptor");
		
		return true;//返回true表示放行
	}
           

第二步:配置(@Configuration)该拦截器

@Configuration//表示这是一个配置,springboot,麻烦你读取这个配置
public class WebConfig extends WebMvcConfigurerAdapter{

	@Override
	public void addInterceptors(InterceptorRegistry registry) {
		
		//定义要拦截的路径
		String[] addPathPatterns= {"/add"};
		//定义不拦截的路径
		String[] excludePathPatterns= {"/update"};
		
		registry.addInterceptor(new AccessInterceptor()).addPathPatterns(addPathPatterns).excludePathPatterns(excludePathPatterns);

		//registry.addInterceptor(new AccessInterceptor()).addPathPatterns("/add").excludePathPatterns("/update");
	}
           

第三步:测试即可

http://localhost:8080/update 不拦截

http://localhost:8080/add 拦截

@RestController
public class UserController {
	
	@GetMapping("add")
	public String add()
	{
		return "add";
	}
	@GetMapping("update")
	public String update()
	{
		return "update";
	}

}
           

继续阅读