05_SpringBoot 拦截器
参考资料:https://www.springcloud.cc/spring-boot.html
中文文档2:https://felord.cn/_doc/_springboot/2.1.5.RELEASE/_book/index.html
1. 自定义拦截器类
1 |
|
2. 拦截器配置类
实现 WebMvcConfigurer
接口。
1 |
|
匹配规则:
addPathPatterns(“/*/**”) 可以拦截所有请求
一个*:只匹配字符,不匹配路径( / )
两个**:匹配字符,和路径( / )```yaml
- /**: 匹配所有路径
- /admin/**:匹配 /admin/ 下的所有路径
- /secure/*:只匹配 /secure/user,不匹配 /secure/user/info
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
addPathPatterns("`/**`") 表示拦截所有的请求
addPathPatterns("`/**`") 表示拦截所有的请求
addPathPatterns("`/test/**`") 表示拦截/test/ 下的所有路径请求
addPathPatterns("`/test/*`") 表示拦截/test/abc,拦截/test/aaa , 不拦截 /test/abc/def
addPathPatterns("`/test/`").excludePathPatterns("`/test/login`", “`/test/register`”) 表示拦截/test/ 下的所有路径请求,但不拦截 /test/login 和 /test/register
### 3. 测试类
在 static 目录下创建 index.html 以及 controller 测试类。
```java
package com.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class InterceptorController {
@RequestMapping("/interceptor/myinterceptor")
public String myinterceptor(){
System.out.println("myinterceptor");
return "/index.html";
}
}
访问 controller 测试,拦截器生效。
05_SpringBoot 拦截器
https://janycode.github.io/2018/06/20/08_框架技术/04_SpringBoot/05_SpringBoot 拦截器/