gpt4 book ai didi

java - 如何使用Spring将请求转发到另一台服务器?

转载 作者:行者123 更新时间:2023-11-30 03:45:01 25 4
gpt4 key购买 nike

我有一个客户端和一个服务器。客户端仅包含 UI 和 View 层以及 Controller 。服务器端包含服务和存储库层以及更复杂的东西。现在用户使用以下 Controller 向客户端发送请求

@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);
}

但是服务器端的 Controller 具有该网址的 Controller ,如下所示

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

service.save(objCoaChartAccount);
return object;
}

现在我想知道如何将包含请求负载的客户端请求传递到另一端的此类 Controller ?

最佳答案

客户端 Controller 必须使用 RestTemplate 将数据发布到 Web 服务,请参阅 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#rest-client-access了解更多详情。

例如,您的客户端 Controller 应如下所示:

@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;

}

关于java - 如何使用Spring将请求转发到另一台服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com