【问题标题】:Send HTTP POST request in Spring MVC在 Spring MVC 中发送 HTTP POST 请求
【发布时间】:2012-09-28 14:30:02
【问题描述】:

我正在开发一个使用 Spring MVC 的项目,其中一项要求涉及向外部服务发送请求以处理某些事务。 现在的问题是外部服务只采用 POST 方法,我到处找,找不到将用户作为 POST 请求转发到外部站点的方法(类似于表单提交)。

我们正在尝试做的事情:

1) 我的 Controller 将接收请求并执行一些后端的事情并构造一些参数来传递。

2) *通过带有一些参数的 HTTP POST 方法向外部服务发送请求。 (注意。用户的浏览器会显示外部站点的 URL。)

我研究了 Spring MVC 的不同返回类型,但找不到合适的。

任何建议将不胜感激。

谢谢!

【问题讨论】:

    标签: java spring model-view-controller http web-applications


    【解决方案1】:

    您可以使用 Apache HttpComponents 库从您的控制器发送 HTTP 请求。它易于使用,并且有大量的文档和示例。

    【讨论】:

      【解决方案2】:

      假设这不是 Spring MVC 相关的问题。我认为这与您尝试在 Servlet 中实现此类操作的解决方案相同。

      首先,这个外部站点应该是一个异步服务,你不需要从它那里得到响应,对吧?如果是,我认为最简单的解决方案是您可以在 Servlet 或控制器中新建 URLConnection,构造参数并设置 POST 方法,然后发出请求。之后,您可以随意回复您的本地页面。

      第二种解决方案,需要一个虚拟 JSP 页面。该页面将向外部服务发布表单并根据需要重定向到目标页面。无论您是否使用 javascript,我认为用户都会在浏览器上看到刷新。

      【讨论】:

        【解决方案3】:

        您将无法重定向,因为这意味着 GET

        由于您的客户端使用的是网络浏览器,因此应该可以返回带有表单的 HTML 文档,然后在页面加载后提交该表单(方法属性为 POST)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-20
          • 2013-11-13
          • 1970-01-01
          相关资源
          最近更新 更多