写一个springboot filter过滤请求地址
时间: 2024-03-05 14:49:18 浏览: 65
好的,下面是一个简单的 Spring Boot Filter 的示例代码,可以对请求地址进行过滤:
```java
@Component
public class CustomFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String requestURI = req.getRequestURI();
if (requestURI.startsWith("/api/")) {
// 如果请求地址以 /api/ 开头,则继续处理该请求
chain.doFilter(req, res);
} else {
// 如果请求地址不以 /api/ 开头,则直接返回 404 错误
res.sendError(HttpServletResponse.SC_NOT_FOUND);
}
}
}
```
在上面的代码中,我们通过 `HttpServletRequest#getRequestURI()` 方法获取到请求地址,然后判断请求地址是否以 `/api/` 开头。如果是,则继续处理该请求,如果不是,则直接返回 404 错误。
需要注意的是,这里的 `/api/` 可以根据实际情况进行修改,比如改成 `/v1/` 或者其他的前缀。
阅读全文