Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 在包含'/';角色,使用Spring MVC_Spring Mvc - Fatal编程技术网

Spring mvc 在包含'/';角色,使用Spring MVC

Spring mvc 在包含'/';角色,使用Spring MVC,spring-mvc,Spring Mvc,我有一个用例。Spring MVC REST Url使用GET方法接收内容代码如下: @RequestMapping("/q/{key}") public String query(@PathVariable() String key, Model model){ //todo` } @RequestMapping("/q/**") 但是这样一个请求的前端:/q/SiGeC%2FSi%E5%BC%82%E8%B4%A8%E7%BB%93%2F解码字符/。控制器无法匹配映射请求 我该怎

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

@RequestMapping("/q/{key}")
public String query(@PathVariable() String key, Model model){
    //todo`
}
@RequestMapping("/q/**")
但是这样一个请求的前端:
/q/SiGeC%2FSi%E5%BC%82%E8%B4%A8%E7%BB%93
<代码>%2F解码字符
/
。控制器无法匹配映射请求


我该怎么办

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

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

这将捕获/q/之后的所有内容。或者,您可以将其设置为更具体的正则表达式,以匹配实际期望的模式。

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

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

这将捕获/q/之后的所有内容。或者,您可以将其设置为更具体的正则表达式,以匹配您实际期望的模式。

对@PathVariable的注释可能无法解决此问题。上次使用解决方案已解决。代码如下:

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

@PathVariable的批注可能无法解决此问题。上次使用解决方法已解决。代码如下:

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

希望这有帮助。希望这有帮助。很抱歉这不起作用。引发了异常:java.util.regex.PatternSyntaxException:在索引1()附近悬挂元字符“”\Q.\E.*请理解此站点上的大多数用户都是从内存中键入这些内容的。至少大多数时候我是这样。不幸的是,我没有一份备忘单,上面有所有答案,可以随时粘贴并修复每个人的代码。我输入了正则表达式(省略了“.”)。我更新了帖子以反映适当的正则表达式值。“:”后面的所有内容都是正则表达式,因此可以随意设置,以便吸收适当数量的字符。有很多网站提供在线java正则表达式测试程序,所以选择一个就疯狂了。对不起!这不起作用。引发了异常:java.util.regex.PatternSyntaxException:在索引1()附近悬挂元字符“”\Q.\E.*请理解此站点上的大多数用户都是从内存中键入这些内容的。至少大多数时候我是这样。不幸的是,我没有一份备忘单,上面有所有答案,可以随时粘贴并修复每个人的代码。我输入了正则表达式(省略了“.”)。我更新了帖子以反映适当的正则表达式值。“:”后面的所有内容都是正则表达式,因此可以随意设置,以便吸收适当数量的字符。有很多网站提供在线java正则表达式测试程序,所以选择一个就疯狂了。