2014-09-22 4 views
0

У меня есть клиент и сервер. клиентская сторона содержит только пользовательский интерфейс и уровень представления вместе с контроллером. серверная сторона содержит уровень служб и репозитория и более сложные вещи. Теперь пользователь отправить запрос на стороне клиента с последующим контроллеромКак перенаправить запрос на другой сервер с помощью 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/ Не похоже, что вы пытались и не смогли чего-то добиться. –

ответ

2

Контроллер на стороне клиента должен будет использовать RestTemplate для отправки данных в веб-службу, см. 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); 
} 

Сервер такое же, как вы указали (стандартный остальные веб-службы):

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

    service.save(object); 
    return object; 

}

Смежные вопросы