我在运行的 Spring Boot 应用程序中有不同的过滤器。我想根据条件跳过一个过滤器来运行少数 api。我可以通过在 doFilterInternal 中添加条件来做到这一点。这里是过滤器的代码:
class ConditionalFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest servletRequest, HttpServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException {
HttpServletRequest httpRequest = (HttpServletRequest)servletRequest;
HttpServletResponse httpResponse = (HttpServletResponse)servletResponse;
if (!condition) {
filterChain.doFilter(request, httpResponse);
} else {
someFilterLogic();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?
spring-boot ×1