2012-09-28 278 views
1

我正在開發一個使用Spring MVC的項目,其中一個需求涉及向外部服務發送請求來處理一些事務。 現在的問題是外部服務只需要POST方法,並且我到處尋找並找不到將用戶作爲POST請求轉發到外部站點的方式(類似於表單提交)。在Spring MVC中發送HTTP POST請求

我們正在嘗試做的:

1)我的控制器將接收請求,並執行一些後臺的事情,並構建一些參數來傳遞。

2)*通過一些參數通過HTTP POST方法向外部服務發送請求。 (注意:用戶的瀏覽器會顯示外部網站的URL)

我已經查看了Spring MVC的不同返回類型,並找不到適合的東西。

任何意見將不勝感激。

謝謝!

回答

1

假設這不是Spring MVC的相關問題。這是你試圖在Servlet中實現這種操作的相同解決方案,我認爲。

首先,這個外部網站應該是一個異步服務,你不需要得到它的響應,對吧?如果是的話,我認爲最簡單的解決方案是你可以在Servlet或Controller中新建URLConnection,構造參數並設置POST方法,然後發出請求。之後,您可以隨意回覆您的本地頁面。

第二個解決方案,需要一個虛擬JSP頁面。該頁面會將表單發佈到外部服務並根據需要重定向到目標頁面。無論您使用的是否是JavaScript,我都認爲用戶會在瀏覽器中看到刷新。

1

您將無法重定向,因爲這意味着GET

由於您的客戶端正在使用Web瀏覽器,應該可以返回帶有表單的HTML文檔,然後在頁面加載完成後提交該表單(方法屬性爲POST)。

2

您可以使用Apache HttpComponents庫來發送來自您的控制器的HTTP請求。它很容易使用,並有大量的文檔和示例。