在Spring MVC中使用@PathVariable将点分字符串绑定

8

我在我的控制器中有以下方法:

@RequestMapping( value="/servers/{server}", method = RequestMethod.GET )
public @ResponseBody List<Application> getServerInformation( String server ) {
    logger.debug( "Request for server: " + server );
    ...
}

当我请求 /servers/test.myserver.com 时,绑定变量的值为 test.myserver。通常情况下,对于任何包含点分隔值的请求,绑定变量的值会省略最后一部分。
我正在使用 Spring 3.0.4。
有什么建议吗?
谢谢。

请将Spring MVC处理URL中的点字符的行为更改的方法翻译成中文。 - skaffman
2个回答

9
您可以使用Ant风格的匹配模式。对于您的示例,您只需执行以下操作:
@RequestMapping( value="/servers/{server:.*}", method = RequestMethod.GET )
public @ResponseBody List<Application> getServerInformation(
                          @PathVariable(value = "server") String server ) {
    logger.debug( "Request for server: " + server );
    ...
}

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接