1

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

我们正在尝试做的事情:

1)我的控制器将接收请求并执行一些后端事物并构造一些参数以传递。

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

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

任何建议将不胜感激。

谢谢!

4

3 回答 3

2

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

于 2012-10-01T08:05:13.123 回答
1

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

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

于 2012-09-28T14:33:22.740 回答
1

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

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

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

于 2012-09-28T14:45:19.273 回答