[英]java spring restful-url with semi-colon
我目前正在开发一个需要在我们的 restful-url 方案中使用分号的项目。
正如您可以想象的那样,我们在解决这个问题时遇到了问题——底层的 Java HTTPServletRequest 不能很好地运行。
有没有办法解决这个问题?
示例 restulf-URL:
看起来 Spring 只在 /service/bob 上工作 - ;MIKE 被截断。
我们已经尝试过 %3B (或 %3F 类似的东西),但它不起作用。
提前致谢!
ct
虽然@Amos M. Carpenter 的回答是正确的,但这是关闭此行为所需的配置:
@Configuration
@EnableWebMvc
public class WebMvcConfiguration extends WebMvcConfigurerAdapter
{
@Override
public void configurePathMatch(PathMatchConfigurer configurer)
{
configurer.getUrlPathHelper().setRemoveSemicolonContent(false);
}
}
这是您可以在 URI 中合法使用的所有分隔符的列表:
! $ & ( ) * , ; = + ' : @ / ?
尝试每一个,看看哪个适合你。
显然春天夺走了你的;
. 我不确定这是否是 Servlet 的事情,但无论如何,它很糟糕。 Web 框架应该允许开发人员构建任何合法的 URI。
似乎这是 Spring 有意为之,但至少它是可配置的。
您需要告诉您的处理程序映射到setRemoveSemicolonContent(false)
(默认为true
)。 有关更多详细信息,请参阅Javadoc 。
这样做的原因是因为他们显然想从 URI 中删除;jsessionid=...
后缀。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.