首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Interceptor路径模式问题

Spring Interceptor路径模式问题
EN

Stack Overflow用户
提问于 2014-07-10 23:09:49
回答 1查看 1.5K关注 0票数 0

我在使用Spring拦截器的URL模式时遇到了一些问题。

我以编程方式添加路径模式,而不是在XML中添加,但据我所知,它应该是一样的。我就像这样添加它:

代码语言:javascript
复制
public void addInterceptors(InterceptorRegistry registry) {
    super.addInterceptors(registry);
    registry.addInterceptor(new AdminInterceptor()).addPathPatterns("/admin.html");
    registry.addInterceptor(getRateLimitInterceptor());
}

如果您不添加任何路径模式,它将应用于每个URL。

我希望它应用于以下URL (假设它在本地运行):

代码语言:javascript
复制
localhost:8080/webapp/#/admin

该页面通过以下方式获取其内容:

代码语言:javascript
复制
localhost:8080/webapp/admin.html

所以我不能完全确定我需要阻止的是哪个URL?理想情况下,我会阻止请求URI中包含"admin“的任何内容,但我不确定这是否可行。我尝试了"#/admin“"/#/admin”"admin“"/admin”“的变体,但没有效果。

我确定这只是我在构建路径模式时搞砸了一些非常小的东西。有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-10 23:22:31

在URL中使用时,#是一个特殊字符。它表示片段的开始。

如果要将HTTP请求发送到包含#的URL,则必须使用%23对其进行URL编码。

在这种情况下,

代码语言:javascript
复制
registry.addInterceptor(new AdminInterceptor()).addPathPatterns("/#/admin");

都会起作用,假设你有一个

代码语言:javascript
复制
@RequestMapping("/#/admin")

或类似映射的处理程序方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24680130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档