代码之家  ›  专栏  ›  技术社区  ›  CuriousMind

REST和RESTful WS

  •  0
  • CuriousMind  · 技术社区  · 9 年前

    我曾在较高的级别(不是很详尽)研究过RESTfulWeb服务,编写了一些基于REST的Web服务。

    为了开始我的RESTful WS之旅,我阅读了在线文章(wiki、在线教程等),我知道这是一种指定约束的架构风格,当应用于web服务时,会产生理想的属性,如性能、可伸缩性等。好的,这是这个概念的理论部分。

    使用的简单示例 JAX-RS :

    @Path("/simple")
    public class SimpleRESTService {
    
        @GET
        @Path("/{param}")
        public Response getMsg(@PathParam("param") String message) {
            String output = "Jersey say : " + message;
            return Response.status(200).entity(output).build();
        }
    }
    

    我的疑问是:

    如果REST是架构风格的(并使用这些准则构建RESTful web服务),那么 日本宇宙航空研究院 做据我所知,REST只是架构风格而不是任何规范,JAX-RS与此有什么关系?我很难理解这两个实体之间的关系。

    谁能用简单的话帮我理解这一点。

    2 回复  |  直到 9 年前
        1
  •  1
  •   Attila Gyongyosi    9 年前

    REST确实是一种独立于应用层协议构建web服务的体系结构风格(也可以通过FTP或HTTP实现)。

    JAX-RS只是JavaEE的标准化API,使用它可以轻松地在Java中实现RESTful服务。它是开发人员用来减轻负担的工具包,作为JavaEE的一部分,它是在应用服务器(如WildFly)中现成实现的。

    编辑:
    尽管REST是一种定义良好的体系结构风格,但它(正如您所提到的)不是规范,因此开发人员对它有很多模糊的地方。

    JAX-RS使您能够用动态部分定义服务端点(例如:/api/jediknights/{id},以便id可以是任何内容),从而更容易以您(或客户)的期望格式(如XML或JSON)响应客户机。它提供了方便的包装器对象来包装您的响应正文以及状态代码和标题以及许多其他方便的东西。

    然而,问题是:它仍然是 作为开发人员,您有责任遵守REST风格所规定的原则 。JAX-RS并没有真正强制您执行任何操作。

    公平地说,您甚至可以通过使用较低级别的ServletAPI来实现RESTful web服务。JAX-RS只是对您隐藏了不必要的细节,并将使您的生活更轻松。

    我希望它变得更清晰:)

        2
  •  1
  •   Aviram    9 年前

    Java API for RESTful Web Services(JAX-RS)是一组 开发人员REST服务。JAX-RS是JavaEE6的一部分 开发人员可以轻松开发REST web应用程序。

    您可以在此处阅读更多内容: http://www.mkyong.com/tutorials/jax-rs-tutorials/

    推荐文章