2013-10-23 95 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響應的照顧。

相關問題