java – 如何根据URL模式应用spring boot过滤器?

前端之家收集整理的这篇文章主要介绍了java – 如何根据URL模式应用spring boot过滤器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个 spring boot过滤器 – 使用@Component注释实现GenericFilterBean.
  1. @Component
  2. public class MyAuthenticationFilter extends GenericFilterBean {
  3. ...
  4. @Override
  5. public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException,ServletException {
  6. ...
  7. }
  8. }

该过滤器由Spring Boot Framework自动识别,适用于所有REST API.我希望此过滤器仅应用于某个URL路径,例如/ api / secure / *但我找不到正确的方法.
我试过@WebFilter,但它不起作用.
我没有使用XML配置或servlet初始化程序 – 只是注释.

让它运作的正确方法是什么?

解决方法

您可以添加如下过滤器:
  1. @Bean
  2. public FilterRegistrationBean someFilterRegistration() {
  3.  
  4. FilterRegistrationBean registration = new FilterRegistrationBean();
  5. registration.setFilter(someFilter());
  6. registration.addUrlPatterns("/url/*");
  7. registration.addInitParameter("paramName","paramValue");
  8. registration.setName("someFilter");
  9. registration.setOrder(1);
  10. return registration;
  11. }
  12.  
  13. @Bean(name = "someFilter")
  14. public Filter someFilter() {
  15. return new SomeFilter();
  16. }

猜你在找的Java相关文章