【问题标题】:Is JSR 311 mandatory for creating RESTful type of Web service?创建 RESTful 类型的 Web 服务是否必须使用 JSR 311?
【发布时间】:2015-01-14 21:37:00
【问题描述】:

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

【问题讨论】:

    标签: java web-services rest


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      一点也不。

      Raw Servlets 非常适合实现 REST 架构。各种框架和库只是让这项任务变得更容易一些。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多