我有一个用例。 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
已解码的字符/
。控制器无法匹配映射请求。
我该怎么办?
答案 0 :(得分:3)
您可以在路径变量中包含正则表达式:
@RequestMapping("/q/{key:.*}")
这将在/ q /之后获取所有内容。或者你可以使它成为一个更具体的正则表达式,以匹配你实际期望的模式。
答案 1 :(得分:2)
@ PathVariable的注释可能无法解决此问题。最后使用解决方法已解决。代码如下:
@RequestMapping("/q/**")