Spring RestTemplate与Jersey Rest Client和RestEasy Client

时间:2015-09-01 17:38:56

标签: api rest asynchronous rest-client

对于来自客户端应用程序的异步rest API调用,建议使用以下哪一种实现?还是更强大?

  1. Sprint resttemplate
  2. 泽西岛休息客户
  3. 休息轻松客户

1 个答案:

答案 0 :(得分:6)

以下是一些指向文档和示例的链接,以帮助您评估每个客户提供的内容,按照我个人推荐的顺序从最佳到常见以及我找到的其他比较的链接。

  1. RESTEasy is a JBoss project是我的第一个选择,因为它Caching Features: Client "Browser" cache. Supports HTTP 1.1 caching semantics including cache revalidation对性能有巨大影响,而其他客户端实现不提供开箱即用的缓存,您需要编写额外的代码才能获得它。 RESTEasy提供了各种框架来帮助您构建RESTful Web服务和RESTful Java应用程序。它是JAX-RS 2.0规范的完全认证和可移植的实现,JCP规范是通过HTTP协议为RESTful Web服务提供Java API的。
  2. RESTEasy功能列表

    RESTEasy examples另见Three Forms of RESTEasy Client

    1. Jersey RESTful Web Services framework是开源的,生产质量的框架,用于开发Java中的RESTful Web服务,为JAX-RS API提供支持,并作为JAX-RS(JSR 311& JSR 339)参考实现。 / LI>

      Jersey框架不仅仅是JAX-RS参考实现。 Jersey提供了自己的API,通过其他功能和实用程序扩展了JAX-RS工具包,以进一步简化RESTful服务和客户端开发。泽西岛还公开了许多扩展SPI,以便开发人员可以扩展泽西岛以满足他们的需求。

      泽西岛项目的目标可归纳为以下几点:

      • 跟踪JAX-RS API并定期发布GlassFish附带的生产质量参考实现;
      • 提供API以扩展Jersey&建立用户和开发人员社区; - 使用Java和Java虚拟机轻松构建RESTful Web服务。

      有多个Jersey连接器可供选择,请参阅第5章。客户端API 5.5。客户端传输连接器Grizzly看起来是最先进的,特别是因为它使用NIO框架来帮助开发人员利用Java™NIO API,请参阅java.net versus java.nio它与AsyncHttpClient progect一起使用可能你需要的一切。

      默认情况下,Jersey中的传输层由HttpUrlConnection提供。此传输通过HttpUrlConnectorProvider在Jersey中实现,该HttpUrlConnectorProvider实现特定于Jersey的连接器SPI。您可以在Jersey客户端实现中实现和/或注册自己的Connector实例,这将替换默认的基于HttpUrlConnection的传输层。 Jersey提供了几种可立即使用的备用客户端传输连接器实现。

      表5.1。泽西连接器列表 传输框架Jersey连接器实现Maven依赖

      Jersey vs. RESTEasy: A JAX-RS Implementation Comparison

      1. Spring RestTemplate或异步休息API调用AsyncRestTemplate请参阅Spring 4 AsyncRestTemplate + ListenableFuture Example是默认的Spring Boot starter Restful api。在PayPal团队决定创建RESTEasy Spring Boot Starter并与社区分享之前,没有RESTEasy Spring Boot启动器。