【发布时间】:2016-06-29 15:24:52
【问题描述】:
我必须支持以下网址格式
/service/country/city/addr1/addr2/xyz.atom
/service/country/city/addr1/addr2/addr3/xyz.atom
其中country 和city 可以映射到@PathVariable,但之后路径可以是动态的,带有多个斜杠。结尾部分将有.atom 或类似名称。
我尝试了以下操作,但似乎没有一个选项有效
-
通配符
@RequestMapping(value="/service/{country}/{city}/**") -
正则表达式
@RequestMapping(value="/service/{country}/{city}/{addr:.+}") -
UseSuffixPatternMatch
Config 类中的重写方法@Override public void configurePathMatch(PathMatchConfigurer configurer) { configurer.setUseSuffixPatternMatch(false); }
看起来斜线和点的组合不适用于上述解决方案。
我不断收到406 不匹配的Accept 标头,或404
【问题讨论】:
-
请求评论拒绝投票的原因
-
嗨,我尝试了您的第一个选项 RequestMapping(value="/service/{country}/{city}/**"),适用于带有多个斜杠的动态 URL
-
406 与路径无关。看来您做对了,但您的控制器无法以所需格式提供内容。
-
@cralfaro 如果最后一个值有点,它对我不起作用
标签: java regex spring spring-boot spring-mvc