创建 RESTful 类型的 Web 服务必须使用 JSR 311 吗?

Is JSR 311 mandatory for creating RESTful type of Web service?

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

完全没有。

原始 Servlet 非常适合实现 REST 架构。各种框架和库只是让这项任务变得更容易。

JAX-RS 是 API 的集合和使用 Java.

实施 RESTful 服务的规范

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 实现库的依赖项。