将spring-boot中的过滤器应用于特定url模式的注释

时间:2015-02-03 16:26:18

标签: java spring filter spring-boot

我正在开发一个spring-boot rest服务,它包含两个过滤器(实现javax.servlet.Filter接口)。虽然一个过滤器应该适用于所有网址格式,但我希望将第二个过滤器配置为仅应用于网址格式/api/*

目前,我正在使用以下代码执行此操作:

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public FilterRegistrationBean filterRegistrationBean() {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        SecurityFilter securityFilter = new SecurityFilter();
        registrationBean.setFilter(securityFilter);
        registrationBean.addUrlPatterns("/api/*");

        return registrationBean;
    }
}

但我的问题是,如果有一个注释要做同样的事情,考虑到有用于设置过滤器顺序的注释(@Order(..))。我尝试过使用javax.servlet.annotation.WebFilter,但是spring-boot似乎忽略了这个注释。

1 个答案:

答案 0 :(得分:7)

目前还没有注释可以做你想要的。我们确实有一个open issue to support @WebFilter我们想修复Spring Boot 1.3。