gpt4 book ai didi

spring - 通过路径模式排除 Spring Request HandlerInterceptor

转载 作者:行者123 更新时间:2023-12-04 09:10:25 25 4
gpt4 key购买 nike

我知道我们可以将不同的 url 映射到不同的拦截器,或者我们也可以将多个 url 映射到单个拦截器。我只是想知道我们是否也有排除选项。例如,如果我在应用程序中有 50 个 url 映射,除了 1 个映射,我想为所有对象调用拦截器,而不是为 49 个映射编写配置,我可以只提到 * 和第 50 个 url 的一个排除吗?

最佳答案

HandlerInterceptor s 可以应用于或排除(多个)特定的 url 或 url-patterns。

请参阅 MVC Interceptor Configuration

以下是文档中的示例

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LocaleInterceptor());
registry.addInterceptor(new ThemeInterceptor()).addPathPatterns("/**").excludePathPatterns("/admin/**");

// multiple urls (same is possible for `exludePathPatterns`)
registry.addInterceptor(new SecurityInterceptor()).addPathPatterns("/secure/*", "/admin/**", "/profile/**");
}
}

或使用 XML 配置
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/admin/**"/>
<bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor"/>
</mvc:interceptor>
<mvc:interceptor>
<!-- intercept multiple urls -->
<mvc:mapping path="/secure/*"/>
<mvc:mapping path="/admin/**"/>
<mvc:mapping path="/profile/**"/>
<bean class="org.example.SecurityInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>

关于spring - 通过路径模式排除 Spring Request HandlerInterceptor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34970179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com