如何让拦截器不拦截放行指定接口
时间: 2023-12-13 11:03:44 浏览: 103
要让拦截器不拦截放行指定接口,可以在拦截器中进行判断和处理。以下是一种常见的方法:
1. 在拦截器中定义一个列表或数组,用于存储需要放行的接口路径。
2. 在拦截器的preHandle方法中,获取当前请求的接口路径。
3. 判断当前请求的接口路径是否存在于放行列表中。
4. 如果存在于放行列表中,则直接返回true,表示放行。
5. 如果不存在于放行列表中,则进行其他的处理逻辑,比如进行身份验证、权限校验等。
下面是一个示例代码:
```java
public class MyInterceptor implements HandlerInterceptor {
private List<String> allowList = Arrays.asList("/api/login", "/api/register");
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestURI = request.getRequestURI();
if (allowList.contains(requestURI)) {
return true; // 放行
}
// 其他处理逻辑
// ...
return true; // 继续执行后续的拦截器或处理器
}
// 其他方法...
}
```
在上述示例代码中,`allowList`列表中存储了需要放行的接口路径,比如"/api/login"和"/api/register"。在preHandle方法中,判断当前请求的接口路径是否存在于`allowList`中,如果存在,则直接返回true表示放行;如果不存在,则可进行其他处理逻辑。这样就实现了对指定接口的放行。
阅读全文