2014-09-22 114 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; 

}

相关问题