2014-09-22 116 views
0

我有一個客戶端和一臺服務器。客戶端只包含UI和視圖層以及控制器。服務器端包含服務和存儲庫層以及更復雜的東西。現在用戶發送到客戶端的請求與以下控制器如何使用Spring將請求轉發給其他服務器?

@RequestMapping(value = "/save", method = RequestMethod.POST, produces = "application/json; charset=UTF-8") 
    @ResponseBody 
    public String save(HttpServletRequest request, HttpServletResponse response) throws IOException { 

     return CallWebService.callWebServiceUrl(request); 
    } 

而是從服務器端控制器具有此URL控制器爲波紋管

@RequestMapping(value = "/save", method = RequestMethod.POST) 
    @ResponseBody 
    public CoaChartAccount save(@RequestBody MyObject object) { 

     service.save(objCoaChartAccount); 
     return object; 
    } 

現在,我不知道如何打發來自客戶端的請求包含請求負載到另一端的這樣的控制器?

+0

HTTP: //mattgemmell.com/what-have-you-tried/它看起來並不像你已經嘗試過但未能取得成功。 – 2014-09-22 22:08:12

回答

2

客戶端控制器將不得不使用RestTemplate將數據發佈到Web服務,有關更多詳細信息,請參閱http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#rest-client-access

例如,您的客戶端控制器應該是這樣的:

@RequestMapping(value = "/saveClient", method = RequestMethod.POST) 
@ResponseBody 
public CoaChartAccount save(@RequestBody CoaChartAccount object) throws IOException { 
    return restTemplate.postForObject(URL_SAVING_MYOBJECT, object, CoaChartAccount.class); 
} 

服務器爲你指定是相同的(一個標準的REST Web服務):

@RequestMapping(value = "/saveServer", method = RequestMethod.POST) 
@ResponseBody 
public CoaChartAccount save(@RequestBody CoaChartAccount object) { 

    service.save(object); 
    return object; 

}

相關問題