【发布时间】:2017-05-31 13:46:25
【问题描述】:
我有一个通过 Spring MVC 公开 REST API 的 Spring Boot 应用程序。
当我使用嵌入式 tomcat 在本地运行我的应用程序时,我可以使用末尾的斜杠访问资源 - 例如 POST /resource/
但是,当我将战争部署到独立的 tomcat 实例时,如果我在 URL 中包含尾部斜杠,我会得到 404,但如果没有尾部斜杠则成功 - 例如 POST /resource。
嵌入式 tomcat 可以带或不带斜杠。
我的请求映射是
@RequestMapping(value = "/resource", method = RequestMethod.POST)
我尝试了各种配置选项,包括
@Override
public void configurePathMatch(PathMatchConfigurer matcher) {
matcher.setUseRegisteredSuffixPatternMatch(true);
matcher.setUseTrailingSlashMatch(true);
}
我能看到的唯一区别是嵌入式 tomcat 是 v8,而独立版是 v7。两者运行完全相同的源代码,但行为不同。
谁能建议如何解决这个问题?
谢谢
【问题讨论】:
-
为什么不试试独立的 Tomcat 8 看看它的表现如何?
-
@AndyWilkinson 好主意...谢天谢地,我已经想通了,不必为了调试而设置新环境!
标签: spring spring-mvc tomcat spring-boot