如何在 Spring Boot 中添加过滤器类?

新手上路,请多包涵

Spring Boot 中的 Filter 类(用于 Web 应用程序)是否有任何注释?也许 @Filter

我想在我的项目中添加一个自定义过滤器。

Spring Boot 参考指南 提到了 FilterRegistrationBean ,但我不确定如何使用它。

原文由 janetsmith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 480
1 个回答

如果你想设置第三方过滤器,你可以使用 FilterRegistrationBean

例如,相当于 web.xml

 <filter>
     <filter-name>SomeFilter</filter-name>
        <filter-class>com.somecompany.SomeFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SomeFilter</filter-name>
    <url-pattern>/url/*</url-pattern>
    <init-param>
        <param-name>paramName</param-name>
        <param-value>paramValue</param-value>
    </init-param>
</filter-mapping>

这些将是您的 @Configuration 文件中的两个 bean:

 @Bean
public FilterRegistrationBean someFilterRegistration() {

    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(someFilter());
    registration.addUrlPatterns("/url/*");
    registration.addInitParameter("paramName", "paramValue");
    registration.setName("someFilter");
    registration.setOrder(1);
    return registration;
}

public Filter someFilter() {
    return new SomeFilter();
}

以上是使用 Spring Boot 1.2.3 测试的。

原文由 Haim Raman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题