Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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 为什么弹簧休息不分析;得到&引用;邮政「;具有相同url的方法_Spring_Rest_Spring Mvc - Fatal编程技术网

Spring 为什么弹簧休息不分析;得到&引用;邮政「;具有相同url的方法

Spring 为什么弹簧休息不分析;得到&引用;邮政「;具有相同url的方法,spring,rest,spring-mvc,Spring,Rest,Spring Mvc,我用的是弹簧休息,我有两种方法 @RequestMapping(value="/",method = RequestMethod.POST) public @ResponseBody Object test1(HttpServletRequest request) {} @RequestMapping(value="/",method = RequestMethod.GET) public @ResponseBody Object test2(HttpServl

我用的是弹簧休息,我有两种方法

@RequestMapping(value="/",method = RequestMethod.POST)
    public @ResponseBody
    Object test1(HttpServletRequest request) {}

@RequestMapping(value="/",method = RequestMethod.GET)
    public @ResponseBody
    Object test2(HttpServletRequest request) {}

但它无法检测这两种方法。spring中每个http方法的URL都必须不同。

spring可以支持相同URL的GET和POST。我已经做过很多次了。例如(这是POST和PUT,但区别相同):


如果您可以发布收到的错误消息,也许我们可以帮助您找出问题所在。

Spring可以支持对同一url进行GET和post。我已经做过很多次了。例如(这是POST和PUT,但区别相同):


如果您可以发布收到的错误消息,也许我们可以帮助您找出问题所在。

我有点晚了,但我可能对仍想了解这一概念的人有用。在下面的代码中,我们将得到错误:java.lang.IllegalStateException:映射不明确。无法映射“XXX”方法。

@RequestMapping(value="/",method = RequestMethod.POST)
    public @ResponseBody
    Object test1(HttpServletRequest request) {}

@RequestMapping(value="/",method = RequestMethod.GET)
    public @ResponseBody
    Object test2(HttpServletRequest request) {}

发生此错误的原因是RequestHandlerMapper仅根据URL模式而不是方法类型委托请求。因此,如果我们有相同的URL模式,handlermapping将无法区分它应该映射到哪个方法,因为不明确

我有点晚了,但我可能对那些仍然想知道这个概念的人有用。在下面的代码中,我们将得到错误:java.lang.IllegalStateException:映射不明确。无法映射“XXX”方法。

@RequestMapping(value="/",method = RequestMethod.POST)
    public @ResponseBody
    Object test1(HttpServletRequest request) {}

@RequestMapping(value="/",method = RequestMethod.GET)
    public @ResponseBody
    Object test2(HttpServletRequest request) {}

发生此错误的原因是RequestHandlerMapper仅根据URL模式而不是方法类型委托请求。因此,如果我们有相同的URL模式,handlermapping将无法区分它应该映射到哪个方法,因为不明确

Spring可以使用相同的url区分GET和POST。如果您没有使用任何一种方法,则很可能您没有请求正确的url。控制器级别是否有requestmapping,web.xml中的DispatchServlet映射如何,请求的实际URL是什么我也有这个问题。当我将get改为另一个url时,它起作用了,所以它并不总是起作用……Spring可以用相同的url区分get和POST。如果你没有使用任何一种方法,那么很可能你没有请求正确的url。控制器级别是否有requestmapping,web.xml中的DispatchServlet映射如何,请求的实际URL是什么我也有这个问题。当我将get更改为另一个url时,它工作了,因此它不总是工作…@Corinthian type状态报告消息请求方法“POST”不受支持的描述指定的HTTP方法不允许用于请求的资源。我的屏幕名称的搞笑输入错误。这实际上是我编造的一个假科林斯名字。不管怎样,你什么时候收到这个消息?这是在启动时,还是在您尝试点击url时?您使用的url是什么?我使用的url只是@RequestMapping(“/”),当我尝试点击该url时就会出现。我使用的url只是@RequestMapping(“/”),当我试着击中目标时,它就来了URL@Corinthian类型状态报告消息请求方法“POST”不受支持描述指定的HTTP方法不允许用于请求的资源。我的屏幕名称输入错误很有趣。这实际上是我编造的一个假科林斯名字。不管怎样,你什么时候收到这个消息?这是在启动时,还是在您尝试点击url时?您使用的是什么url?我使用的url只是@RequestMapping(“/”),当我尝试点击url时会出现。我使用的url只是@RequestMapping(“/”),当我尝试点击url时会出现