Java SpringMVC控制器映射正则表达式
我的控制器映射:Java SpringMVC控制器映射正则表达式,java,spring,spring-mvc,Java,Spring,Spring Mvc,我的控制器映射: @RequestMapping(value = "{objectId}/{objectName: [a-zA-Z-]+}", method = GET) public String getObjects(@PathVariable Integer objectId, Model model) { ... } @RequestMapping(value = "{objectId}/{objectName: [a-zA-Z-]+}_{category}", method = GE
@RequestMapping(value = "{objectId}/{objectName: [a-zA-Z-]+}", method = GET)
public String getObjects(@PathVariable Integer objectId, Model model) { ... }
@RequestMapping(value = "{objectId}/{objectName: [a-zA-Z-]+}_{category}", method = GET)
public String getObjectsForCategories(@PathVariable Integer objectId,
@PathVariable String category,
Model model) { ... }
我要点击的网址是:
Spring无法找到处理程序,并抱怨没有找到HTTP请求的映射。根据
@RequestMapping
注释支持使用正则表达式
在URI模板变量中。语法是{varName:regex}
,其中
第一部分定义变量名,第二部分定义正则变量名
表情
因此,您应该删除:
和regex
之间的空格,如下所示:
@RequestMapping(value = "{objectId}/{objectName:[a-zA-Z-]+}", method = GET)
^ Space is removed
请删除
:
和regex
之间的空格,然后重试。