我正在Spring-boot应用程序中使用第三方库,其中包括针对所有API URL的以下过滤器。
@Bean
public FilterRegistrationBean registerCarFilter(@Value("${car.filter.order:400}") int order) {
final FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new CarFilter());
registrationBean.addUrlPatterns("/*");
registrationBean.setOrder(order);
return registrationBean;
}
是否可以排除特定URL的此过滤器?以及这样做的最佳实践是什么。
如果我不想为“ / car-status” URL执行该操作怎么办?
请让我知道您对此的想法。
答案 0 :(得分:0)
我没有对其进行测试,但是也许您的Car过滤器应该扩展OncePerRequestFilter。这是一个示例
https://github.com/spring-projects/spring-boot/issues/7426
在您的情况下,shouldNotFilter可能类似于:
@Override
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
return "/car-status".equals(request.getServletPath());
}
或request.getRequestURI()取决于您的配置。