Jersey vs jax-rs有什么区别

use*_*366 89 java jax-rs jersey

我真的不明白什么是球衣..

我所知道的是Jax-RS是一个用于构建REST Web服务的API,还有jersey?我得到了一些信息并且都说了同样的话:"球衣是Jax-RS的实现".但它意味着什么?

如果jax-rs是一个API,为什么我们需要jersey来创建一个休息Web服务?运动衫是否有更多的lib与jax-rs瞄准?如果是的话,jax-rs是一个不完整的API?

Ale*_*zar 94

JAX-RS是一个规范(只是一个定义),Jersey是一个JAX-RS实现.

  • 例如:JAX-RS为您提供了一组由Jersey实现的接口(标准Java接口).因此需要一组接口(或类)作为要实现的依赖项. (20认同)
  • 所以jax-rs说我们应该做什么,而球衣呢?多数民众赞成有道理,但为什么有jax-rs库? (14认同)
  • 那是对的.即JAX-RS为您提供javax.ws.rs.core.Request接口,Jersey在com.sun.jersey.spi.container.ContainerRequest中实现它 (10认同)
  • 这与JPA作为规范是一样的,而hibernate是其实现之一吗? (9认同)
  • 好吧,那是有道理的......但是,我们总是需要其他类来实现jax-rs,对吧?喜欢这个,球衣.. (3认同)

ora*_*oat 24

直接从球衣网站

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

  • @ user1851366想象一下,有一个仁慈的组织为汽车创造(并免费赠送)设计.世界各地的制造商都认识到这些设计是好的,并且基于这些设计实现真正的汽车.好吧,JAX-RS就像是关于如何构建RESTful API的计划或设计,软件制造商认识到它并使用真正的RESTful API实现这些想法,其中一个叫做Jersey,但还有其他(即RESTEasy).正如丰田以外的许多其他制造商可能会使用这些设计来创建自己的汽车版本. (27认同)
  • 好吧,我对此表示反对,但不要问我的问题.如果我们有jax-rs,为什么我们需要球衣?jax不完整? (3认同)

小智 5

JAX-RS 是一个规范,而 Jersey 是一个 JAX-RS 实现。-对

这可以理解为将它与 OOPS 原则联系起来 JAX-RS 是一个接口,而 Jersey 是一个实现该接口的类。

这些规范为开发和使用 Web 服务创建了一个标准。

还有其他 JAX-RS 实现,比如 wink、RestEasy。

JAX-RS 是一个规范,它指定了我们如何实现 Web 服务,什么是输入类型、输入格式、输出类型、格式、配置等。它只是一个类型声明和它的实现是这些库,Jersey,眨眼 RestEasy 等。

此外,Java 也有像 JPA(Java Persistence API)这样的规范,就像上面提到的,有 Hibernate,它是 JPA 的一个实现。