首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带分号的java spring restful-url

带分号的java spring restful-url
EN

Stack Overflow用户
提问于 2010-06-19 02:53:25
回答 3查看 3.6K关注 0票数 2

我目前正在做一个项目,它需要在我们的restful-url方案中使用分号。

正如你可以想象的那样,我们在完成这个任务时遇到了问题--底层的Java HTTPServletRequest运行得并不好。

有没有办法解决这个问题?

示例restulf-URL:

http://service/BOB;MIKE/

看起来Spring只在/service/bob - the上工作;MIKE被截断了。

我们已经尝试了%3B (或%3F之类的东西),但它不起作用。

提前感谢!

ct

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-20 02:33:24

以下是您可以在URI中合法使用的所有分隔符的列表:

代码语言:javascript
复制
! $ & ( ) * , ; = + ' : @ / ?

尝试每种方法,看看哪一种适合你。

显然Spring抢走了你的;。我不确定这是不是Servlet的事情,但无论如何,它都很糟糕。web框架应该允许开发人员构造任何合法的URI。

票数 2
EN

Stack Overflow用户

发布于 2017-07-18 05:02:21

虽然@Amos M.Carpenter的回答是正确的,但以下是关闭此行为所需的配置:

代码语言:javascript
复制
@Configuration
@EnableWebMvc
public class WebMvcConfiguration extends WebMvcConfigurerAdapter 
{
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer)
    {  
        configurer.getUrlPathHelper().setRemoveSemicolonContent(false);
    }
}
票数 3
EN

Stack Overflow用户

发布于 2017-05-01 15:27:02

这似乎是Spring有意为之,但至少它是可配置的。

您需要告诉您的处理程序映射到setRemoveSemicolonContent(false) (缺省为true)。有关更多详细信息,请参阅the Javadoc

这样做的原因是因为他们显然想要从URI执行remove the ;jsessionid=... suffix

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

https://stackoverflow.com/questions/3072351

复制
相关文章

相似问题

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