0

我有一个用例。Spring MVC REST Url使用GET方法接收内容的代码如下:

@RequestMapping("/q/{key}")
public String query(@PathVariable() String key, Model model){
    //todo`
}

但是前端有这样一个请求:/q/SiGeC%2FSi%E5%BC%82%E8%B4%A8%E7%BB%93%2F解码字符/。控制器无法匹配映射请求。

我应该怎么做?

4

2 回答 2

3

您可以在路径变量中包含正则表达式,如下所示:

@RequestMapping("/q/{key:.*}")

这将抓住 /q/ 之后的所有内容。或者您可以使其成为更具体的正则表达式以匹配您实际期望的模式。

于 2013-03-14T12:25:46.007 回答
2

@PathVariable的注解可能无法解决这个问题。最后使用变通方法解决了。代码如下:

@RequestMapping("/q/**")
于 2013-03-15T07:08:52.527 回答