У меня есть Spring-фильтр, который определен с другими String
параметрами в WebApplicationInitializer
:
FilterRegistration myFilter = servletContext.addFilter("myFilter ", MyFilter.class);
myFilter.addMappingForUrlPatterns(null, false, "/myservlet/myendpoint/*");
myFilter.setInitParameter("id", "1");
FilterRegistration myFilter2 = servletContext.addFilter("myFilter ", MyFilter.class);
myFilter2.addMappingForUrlPatterns(null, false, "/myservlet/myendpoint2/*");
myFilter2.setInitParameter("id", "2");
FilterRegistration myFilter3 = servletContext.addFilter("myFilter ", MyFilter.class);
myFilter3.addMappingForUrlPatterns(null, false, "/myservlet/myendpoint3/*");
myFilter3.setInitParameter("id", "3");
Мне нужно отправлять разные Enum (или Object), а не String для каждого шаблона URL, это можно сделать?
Есть ли лучший способ отправки условных параметров в Spring Filter?
Мой фильтр:
@Component
public class MyFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
String id = this.getFilterConfig().getInitParameter("id");//...
}
}