JSR 311是否必须用于创建RESTful类型的Web服务?

时间:2015-01-14 13:26:01

标签: java web-services rest

我知道RESTful服务更多的是创建一个架构。考虑到这个陈述,我用HTTPServlet扩展了我的普通java类,并使用doGet& doPost方法作为我的网络方法,一切似乎都运行正常。我通过发送请求测试了这项服务,它还响应了状态行。现在我感到困惑的是,这真的是一个RESTful Web服务。如果是,那么jsr311 api是什么?是否必须使用jsr311 api / jar创建Rest Web服务??

2 个答案:

答案 0 :(得分:4)

JAX-RS是用于使用Java实现RESTful服务的API和规范集。

JAX-RS有多种实现,Jersey是参考实现

JAX-RS的第一个JSR是"JSR 311: JAX-RS: The JavaTM API for RESTful Web Services"。为其生成的工件之一是由Java接口实现的API。此API允许使用Java实现RESTful服务。

当前版本的JAX-RS在"JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services"

中定义

由于REST是架构风格而不是产品或库,因此您可以使用普通Servlet实现RESTful HTTP服务。 JAX-RS背后的想法是,仅使用Servlet工作太多,并且使用Java可以使用标准方法来实现RESTful服务。 JAX-RS定义了这个标准。

如果您使用JAX-RS,那么您的系统将依赖于JAX-RS API库

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.0.1</version>
</dependency>

以及对您使用的JAX-RS实现库的依赖。

答案 1 :(得分:1)

一点也不。

Raw Servlets适用于实现REST架构。各种框架和库只是简化了这项任务。