将表单数据从Spring Controller传递到外部端点

时间:2016-02-02 10:25:15

标签: java spring forms spring-mvc

我的问题: 使用简单的HTML创建表单,使用action =" / myController"。 我需要将表单数据发送到我的Controller,然后我需要再向外部控制器发送一个POST。

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

我的Spring Controller看起来像这样:

@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;
}

我需要将表单数据传递给我的控制器,它应该将表单数据进一步发送到&#34; urlPath&#34;并收到回复。我需要操纵该响应并返回结果。 我的问题是,如何在不操纵请求的情况下进一步发送表单数据?

提前致谢。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

你的Response不需要是一个String,它可以是一个格式良好的java对象。在这种情况下,我没有看到任何问题返回ResponseEntity对象而不将其转换为String。

@ResponseBody会将返回的java对象转换为基于JSON / Xml的响应外部世界。