特定urlPatterns的Spring引导@WebFilter不起作用

时间:2017-08-29 14:33:20

标签: java spring spring-boot filter

我有SpringBootApplication

@ServletComponentScan
@SpringBootApplication
public class ExampleApplication extends SpringBootServletInitializer {

属性文件包含:

server.contextPath=/example

并过滤:

@WebFilter(urlPatterns = { "/example/*" })
public class AuthorizationFilter implements Filter {

当我执行REST方法GET /example/test时:

@RestController
public class ExampleController {

    @GetMapping("/test")
    public String getTest(){

WebFilter没有抓住它。

但如果我改为:

@WebFilter(urlPatterns = { "/*" })
public class AuthorizationFilter implements Filter {

WebFilter捕获所有请求。

如果我添加@Component

@Component
@WebFilter(urlPatterns = { "/example/*" })
public class AuthorizationFilter implements Filter {

在启动期间,我得到:

st-startStop-38] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'authorizationFilter' to: [/*]

为什么会这样?如何按特定(上下文)路径过滤?

0 个答案:

没有答案