2016-02-02 29 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

相关问题