Java – how to apply spring boot filters based on URL patterns?
•
Java
I created a spring boot filter – implementing genericfilterbean with the @ Component annotation
@Component public class MyAuthenticationFilter extends GenericFilterBean { ... @Override public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException,ServletException { ... } }
This filter is automatically recognized by the spring boot framework and is applicable to all rest APIs I want this filter to apply only to a URL path, such as / API / secure / * but I can't find the correct method I tried @ webfilter, but it didn't work I didn't initialize the program using XML configuration or servlet - just comments
What is the right way to make it work?
Solution
You can add the following filters:
@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; } @Bean(name = "someFilter") public Filter someFilter() { return new SomeFilter(); }
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码