2016-02-02 47 views
1

我的問題: 在簡單的HTML中有一個表單,其中action =「/ myController」。 我需要將表單數據發送到我的控制器,並從那裏我需要另一個POST到外部控制器。將彈簧控制器的表單數據傳遞到外部端點

<form method="post" action="/myController"> 
    <textarea name="data"></textarea> 
</form> 

而且我的春節控制器看起來是這樣的:

@RequestMapping(method = RequestMethod.GET, value = "/myController") 
@ResponseBody 
public String myController(@RequestBody MultiValueMap<String, String[]> formData) { 
    RestTemplate rest = new RestTemplate(); 
    ResponseEntity<String> response = rest.postForEntity("urlPath", formData, String.class); 
    String manipulatedResult = manipulateResult(response.getBody()); 
    return manipulatedResult; 
} 

我需要傳遞的表單數據,給我的控制器,應進一步將表單數據發送到「urlPath」,並收到迴應。我需要操縱該響應並返回結果。 我的問題是,如何在不操縱請求的情況下進一步發送表單數據?

在此先感謝。

+0

我有一個類似的問題,我正在處理的圖形用戶界面應用程序中,我想在其實體中將請求傳遞到某個不需要GUI裝飾的調用的Web服務上(例如,下載Word Doc鏈接或)對於這些調用,我幾乎想充當攔截代理。我認爲這是OP所面臨的問題。 –

回答

0

您的響應不需要是字符串,它可以是格式良好的java對象。在這種情況下,我沒有看到任何問題返回ResponseEntity對象,而沒有將其轉換爲字符串。

@ResponseBody會將返回的java對象轉換爲基於JSON/Xml響應外界。

+0

這個問題不在我的控制器的響應端,當我試圖進一步發佈表單數據時,出現這個問題,我從外部端點得到500錯誤,因爲表單參數被改變了。 – CriPstian

相關問題