Issue
I have got a such issue: I do have got antMatcher in Spring Security
. And I have an opportunity to set http method GET/POST/PUT/PATCH/DELETE
for url mapping for my filter. So requests with some methods will be filtered with my filter if they have certain methods and will not be filtered otherways. But how can I specify http method without Spring Security? Is it possible to do it somehow in a cool way using FilterRegistrationBean
or I will be have to use
switch(request.getMethod()) {
...
}
in my fileter doFilterInternal() method (I use OncePerRequestFilter) and act according to which method is specified in HttpServletRequest? That is tedious, isn`t it?
I tried to find out some info according to this issue and researches have not been successful yet.
@Bean
public FilterRegistrationBean<CustomFilter> registrationBean(){
FilterRegistrationBean<CustomFilter> registration = new FilterRegistrationBean<>();
registration.setFilter(customFilter);
registration.addUrlPatterns("/open/*");
/*may be it is possible to addHttpMethods?*/
registration.setName("customLoggingFilter");
registration.setOrder(2);
return registration;
}
Solution
Well, no. It is impossible, but I was told that it is a really not bad idea to override the shouldFilter
method of the OncePerRequestFilter
.
Answered By - Bogdan Zaranik
Answer Checked By - Katrina (JavaFixing Volunteer)