【发布时间】:2013-07-17 20:34:28
【问题描述】:
我有两个 web 应用程序,旨在通过 JSON 公开 RESTful 服务,它们都是使用 SpringMVC + Jackson 用 Java 编写的。
第一个应用更像是一个代理,只是将请求转发给第二个应用,后者拥有真正的业务逻辑(不幸的是,我不能放弃其中任何一个)。
restful 端点看起来很像这样:
@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 将 POST 从 ProxyController 触发到 BackendController,我想它会很有效。
我想知道是否有人会想出一个更好的主意。有谁知道 SpringMVC 是否会让生活更轻松一些?
非常感谢任何cmets
【问题讨论】:
-
如果您不能将它们合并在一起或摆脱其中之一,我会说您正在通过让您的代理服务创建一个 HttpClient 并发布到您的后端服务来朝着正确的方向前进。跨度>
-
Spring有一个REST客户端API:static.springsource.org/spring/docs/3.2.x/…
标签: java json rest spring-mvc