Spring Boot Interceptor называется в любом случае исключить узоры - PullRequest
0 голосов
/ 18 января 2019

Регистрация перехватчика с:

@Override
protected void addInterceptors(final InterceptorRegistry registry) {
    registry.addInterceptor(new ThymeleafLayoutInterceptor()).addPathPatterns("/**").excludePathPatterns("/json/**").excludePathPatterns("/static/**");
}

В моем понимании перехватчик будет вызываться для каждого запроса, но не для запросов с
/ статический /
или
/ json / на своем пути. Но перехватчик, кажется, вызывается из каждого ресурса, также из ресурсов со статическим на своем пути.

Распечатка из метода PostHandle моего перехватчика

final ResourceHttpRequestHandler h = (ResourceHttpRequestHandler) handler;
System.out.println(h.getLocations());

результат в

[class path resource [static/]]

Я пробовал шаблон как
1. / статический / **
2. / статические / *,
3. / статический /
4. статический /

Как это возможно и как я могу исправить проблему?

1 Ответ

0 голосов
/ 18 января 2019

Вы дважды вызываете excludePathPatterns.

Это должно сделать работу

@Override
protected void addInterceptors(final InterceptorRegistry registry) {
    registry.addInterceptor(new ThymeleafLayoutInterceptor())
            .addPathPatterns("/**")
            .excludePathPatterns("/json/**", "/static/**");
}
...