2013-10-23 114 views
2

我控制器的方法是这样的:转换一个responseEntity到HttpServletResponse的弹簧

public void doLogin(HttpServletRequest request, HttpServletResponse response) throws IOException { 

,我想这样做

ResponseEntity<String> responseEntity = restTemplate.postForEntity(testPrefix + "/login", map, String.class); 

response = responseEntity; 

或类似的,基本上做一个restcall并返回HttpReponseEntity作为响应n其启发

+0

请你澄清一下。你是否说在doLogin()方法中,你希望调用restTemplate.postForEntity(),然后将它作为doLogin()的响应返回? –

+0

@RobBlake – NimChimpsky

+0

一个有趣的问题,但我的问题是,让我们说你有这个转换器从'ResponseEntity'到'HttpServletResponse';什么是用例? – nobeh

回答

1

从更新的评论我假设你想要返回从您的控制器调用restTemplate.postForEntity()的结果。

Spring MVC documentation所示,ResponseEntity是来自Controller方法的有效返回类型。所以你可以直接从doLogin()方法返回restTemplate.postForEntity()调用的结果。举个例子:

@Controller 
public class MyController 
{ 
    @AutoWired 
    private RestTemplate restTemplate; 

    @RequestMapping("/yourPath") 
    public ResponseEntity<String> doLogin(HttpServletRequest request) throws IOException 
    { 
      return restTemplate.postForEntity(testPrefix + "/login", map, String.class); 
    } 
} 

Spring MVC的将采取编组ResponseEntity到使用HTTPMessageConverter HTML响应的照顾。

相关问题