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
之间的空格,然后重试。