当前位置: 首页 > 知识库问答 >
问题:

将get请求转发到post请求的尝试返回不支持的错误消息

宓跃
2023-03-14

这是jsp页面中的锚标签调用get url,从这个url我转发到一个post请求Call1 call 1url在控制器中命中一个get请求

@RequestMapping(value = "/call1url", method = RequestMethod.GET)
    public String make(HttpServletRequest request) {

        return "forward:/manctril";

    }

转发控制器中的post请求

@RequestMapping(value = "/main", method = RequestMethod.POST)
        public String make2(HttpServletRequest request) {

            return "forward:/dash";

        }

尝试执行上述操作会返回类似以下错误:

There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported

我的尝试是可能的还是失败了

共有1个答案

冀萧迟
2023-03-14

我不认为GET to POST调用可以通过使用重定向或转发从服务器完成,您需要重新设计您的解决方案。您可以尝试使用以下方式实现它:

一种。您锚定Tag使用JS或AJAX对控制器进行POST调用,然后可以从一个POST到另一个POST,如下所示通过设置请求属性

request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);

@RequestMapping(value = "/call1url", method = RequestMethod.POST)
    public String make(HttpServletRequest request) {

        request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);
        return "forward:/main";

    }

    @RequestMapping(value = "/main", method = RequestMethod.POST)
    public String make2(HttpServletRequest request) {

        return "dash";

    }

湾。您的Anchor Tag应该转到GET调用,该调用应该呈现一个jsp/html页面,然后自动提交jsp作为POST在页面/正文加载上,如下所示,

<body onload="document.forms['redirectToURLForm'].submit()">

<form:form method="POST" id="redirectToURLForm"
        name="redirectToURLForm" action="main">
</form:form>

</body>

这将调用POST方法。

 类似资料:
  • 我的源提供商向我发送。gz文件(zip文件)通过POST请求发送到我的服务器。 我试图实现。NET代码将拦截POST请求并解压缩文件以打开里面的文件。 我只是想截取POST请求并解压缩内容,这样做: 它返回415 Unsupport tedMediaType。 如何截获POST请求,这是一个ZIP文件,以及如何解压缩它以返回其中的文件? 谢谢你。 编辑:

  • 我试图通过ajax发布json数据。json数据包含一个大的html表。然而,这个POST请求被转换成GET请求,我得到错误414(请求-URI太长)。我知道jsonp POST请求转换成GET,但是为什么我的json请求转换成GET?

  • 如果我试图转换成字符串,它工作得很好。下面的代码 我期待API的响应如下 }

  • 我必须做一个帖子,但我得到错误405 在本网站->http://177.66.89.34:8079/transparencia/#我需要迭代页面顶部的2个下拉菜单的选项。 首先,我会在“escolha o exercício”旁边加上选项:然后,我会在“escolha a entidade”旁边加上选项: 用下面的代码,我在“EscolhaoExercício:”上面写了一篇文章 我希望在pars

  • 您好,我正在尝试创建一个POST方法,但我一直收到“404 Request方法'GET'not support”错误。下面我将发布我的Rest控制器,下面我将发布我的服务类。唯一不起作用的是@PostMaps方法。 我没有看到这个问题,我尝试切换到@GetMapping并删除了实际的事务“billRepository.delete(billToWithdraw);”然后该方法返回正确的账单。

  • 我试图点击一个postendpoint,但它给出了错误302,当我在同一台服务器上尝试另一个get Url时,它给出了200。然后,我使用laxrirectstrategy()重定向了post请求。post请求正在重定向到get请求(只有同一个endpoint的方法名是get和post),它没有从post方法获得响应。有人能告诉我如何使用apahce httpClient 4.5将post请求重定