在Spring的RequestMapping中,{parameter:。+}与{parameter}有什么不同


问题内容

我正在看一些使用RequestMapping的Spring代码,如下所示:

@RequestMapping("/foo/{bar:.+}")

这在功能上与以下内容有所不同吗?

@RequestMapping("/foo/{bar}")

据我所知,RegExp始终应用于斜线之间的段,因此两者应相等(尽管。+可能会说“非空?”)。

我想表达这个问题的另一种方式可能是:

Spring {bar}等于{bar:.*}{bar:.+}吗?


问题答案:

使用小型测试进行了验证-
@RequestMapping("/foo/{bar:.+}")原因是如果为.*,则表示/foo//foo/something将映射到相同的请求映射方法,而不会。