我需要为我的第3版Web应用程序之一编写java API。我应该能够通过这些API执行我使用Web UI执行的所有操作。我有使用@RequestMapping修饰的控制器方法。我最近听说过,这些方法可以作为Restful服务公开,可以通过rest客户端访问,只需要很少的修改。我只是想知道为spring3服务创建Rest客户端的推荐方法。我不想在这些Java API中使用任何spring依赖项。我应该能够使用这些API上传文件,因为我在我的spring应用程序中实现了multipart / form-data。有人可以帮我选择在java中为Spring应用程序开发RestClients的最佳方法吗?
我有以下HTTP实现:
Java - 使用JVM提供的HTTP实现。与HttpClient实现相比,这有一些限制。
HTTPClient3.1 - 使用Apache Commons HttpClient 3.1。
HTTPClient4 - 使用Apache HttpComponents HttpClient 4.x。
请告诉我你的建议。
答案 0 :(得分:1)
就个人而言,我使用的是org.springframework.web.client.RestClient,因为你已经在使用Spring了。他们在管理你需要的东西方面做得很好,只要记住他们的例外,没有内容处理糟透了。我必须做的唯一修改是覆盖他们的doExecute(URI, HttpMethod, RequestCallback, ResponseExtractor<T>)
并添加:
if (response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
return null;
}
之前
if (!getErrorHandler().hasError(response)) { ...
除了那个小怪癖(以及一些自定义异常处理)之外,它还是一个很棒的工具。