使用 Spring 3 请求映射注释匹配“URL 的其余部分”
2022-09-02 02:42:24
可能的重复:
Spring 3 请求映射:获取路径值
在春季 3 中,有没有办法在以下 URL 中捕获:rest/of/the/url
/myapp/foo/bar/rest/of/the/url
通过使用@RequestMapping注释,如下所示:
@RequestMapping(value="{appname}/{path1}/{path2}/{remainder}")
public String myRequestMethod(
@PathVariable("appname") String appName,
PathVariable("path1") String path1,
PathVariable("path2") String path2,
PathVariable("remainder") String remainder)
我希望 RequestMapping 像这样匹配
{appname} -> myapp
{path1} -> foo
{path2} -> bar
{remainder} -> rest/of/the/url
在 Javadocs for RequestMapping 中,有一个关于使用备用正则表达式的说明:
默认情况下,URI 模板将与正则表达式 [^] 匹配。*(即句点以外的任何字符),但这可以通过指定另一个正则表达式来更改,如下所示:/hotels/{hotel:\d+}
但是当我使用请求映射时,这并不像预期的那样(我得到404):如下所示:
@RequestMapping(value="{appname}/{path1}/{path2}/{remainder:.[\\S]*}")
有谁知道如何将URL的其余部分与Spring RequestMapping相匹配?