我有两个webapps,旨在通过JSON公开restful服务,使用SpringMVC + Jackson用Java编写。
第一个应用程序更像是一个代理,只是将请求转发给第二个应用程序,它保存了真正的业务逻辑(不幸的是,我不允许放弃其中任何一个)。
宁静的端点看起来非常像这样:
@Controller
@RequestMapping("rest")
public class ProxyController {
@RequestMapping(value = "download", method = RequestMethod.POST, produces="application/json", consumes="application/json")
@ResponseBody
public DownloadResponse download() {
// invoke BackendController by some mean
}
}
@Controller
@RequestMapping("rest")
public class BackendController {
@RequestMapping(value = "download", method = RequestMethod.POST, produces="application/json", consumes="application/json")
@ResponseBody
public DownloadResponse download() {
// do some business logic
return new DownloadResponse();
}
}
我的第一个想法是使用HttpClient从ProxyController触发POST到BackendController,我猜它会起作用。
我想知道是否有人想出更好的主意。有谁知道SpringMVC是否可以让生活更轻松一点?
非常感谢任何评论
答案 0 :(得分:0)
我接受了JB Nizet的建议,看起来好多了!非常感谢你的建议!
这是最终的代码:
public class ProxyController {
public DownloadResponse download() {
RestTemplate template = new RestTemplate();
return template.postForObject("http://<backend-url>/rest/download.do", request, DownloadResponse.class);
}
}