REST 是英文 Representational State Transfer 的缩写,有中文翻译为“具象状态传输”。REST 这个术语是由 Roy Fielding 在他的博士论文 《 Architectural Styles and the Design of Network-based Software Architectures 》中提出的。
REST 并非标准,而是一种开发 Web 应用的架构风格,可以将其理解为一种设计模式。REST 基于 HTTP,URI,以及 XML 这些现有的广泛流行的协议和标准,伴随着 REST,HTTP 协议得到了更加正确的使用。
相较于基于 SOAP 和 WSDL 的 Web 服务,REST 模式提供了更为简洁的实现方案。目前,越来越多的 Web 服务开始采用 REST 风格设计和实现,真实世界中比较著名的 REST 服务包括:Google AJAX 搜索 API、Amazon Simple Storage Service (Amazon S3) 等。
基于 REST 的 Web 服务遵循一些基本的设计原则:
* 系统中的每一个对象或是资源都可以通过一个唯一的 URI 来进行寻址,URI 的结构应该简单、可预测且易于理解,比如定义目录结构式的 URI。
* 以遵循 RFC-2616 所定义的协议的方式显式地使用 HTTP 方法,建立创建、检索、更新和删除(CRUD:Create, Retrieve, Update and Delete)操作与 HTTP 方法之间的一对一映射:
o 若要在服务器上创建资源,应该使用 POST 方法;
o 若要检索某个资源,应该使用 GET 方法;
o 若要更改资源状态或对其进行更新,应该使用 PUT 方法;
o 若要删除某个资源,应该使用 DELETE 方法。
* URI 所访问的每个资源都可以使用不同的形式加以表示(比如 XML 或者 JSON),具体的表现形式取决于访问资源的客户端,客户端与服务提供者使用一种内容协商的机制(请求头与 MIME 类型)来选择合适的数据格式,最小化彼此之间的数据耦合。
Java EE 6 引入了对 JSR-311 的支持。JSR-311(JAX-RS:Java API for RESTful Web Services)旨在定义一个统一的规范,使得 Java 程序员可以使用一套固定的接口来开发 REST 应用,避免了依赖于第三方框架。同时,JAX-RS 使用 POJO 编程模型和基于标注的配置,并集成了 JAXB,从而可以有效缩短 REST 应用的开发周期。
JAX-RS 定义的 API 位于 javax.ws.rs 包中,其中一些主要的接口、标注和抽象类。
JAX-RS 的具体实现由第三方提供,例如 Sun 的参考实现 Jersey、Apache 的 CXF 以及 JBoss 的 RESTEasy。
分享到:
相关推荐
标题"jax-rs jax-ws所需包,亲测可用"表明这个压缩包包含了用于开发Java RESTful Web服务(JAX-RS)和Java SOAP Web服务(JAX-WS)所需的库文件。这些库是Java应用程序进行Web服务交互的核心组件,确保了对HTTP协议...
[奥莱理] RESTful Java 开发 (Jax-RS 实现) (英文版) [奥莱理] RESTful Java with Jax-RS (E-Book) ☆ 图书概要:☆ Learn how to design and develop distributed web services in Java using RESTful ...
With the book’s technical guide, you’ll learn how REST and JAX-RS work and when to use them. The RESTEasy workbook that follows provides step-by-step instructions for installing, configuring, and ...
4. **KTMRRest**:这个名字可能是对某个RESTful服务的命名,它可能是一个JAX-RS资源类的包或者一个包含REST服务的模块。KTMR可能代表某种特定的功能或者业务领域。 学习这个示例,你可以了解如何在Java环境中搭建和...
JAX-RS的核心特性包括: 1. **资源类(Resource Classes)**:使用Java类和方法来表示和操作资源,通过注解来映射HTTP请求方法(如GET、POST、PUT、DELETE等)。 2. **URI模板**:允许动态生成和匹配URI,便于资源...
使用JAX-RS创建REST服务的基本步骤包括: 1. **定义资源类**:创建一个Java类,使用`@Path`注解指定资源的URI路径。 2. **标注资源方法**:在类的方法上使用`@GET`、`@POST`等注解,对应不同的HTTP操作。 3. **处理...
在开发基于Java的RESTful Web服务...综上所述,“Jax-RS所需要的依赖jar”集合包含了构建、测试和部署JAX-RS REST服务所需的全部组件,对于Java开发者来说,这是一个宝贵的资源,可以帮助他们快速启动和运行REST项目。
6. **测试用例**:可能包含JUnit或其他测试框架的测试类,展示了如何对SpringMVC和JAX-RS的服务进行单元测试和集成测试。 7. **集成指南**:如果资源包中涉及了两者的结合使用,可能会有如何在同一个项目中同时使用...
RESTlet是一个知名的JAX-RS实现框架,它提供了一种灵活的方式去构建和部署REST服务。 **知识点**: 1. **JAX-RS基础**:JAX-RS是Java标准JSR 311和JSR 339的一部分,用于简化创建RESTful Web服务。它通过注解如`@...
本资源“JAX-RS入门jar包集合”包含了开始学习和使用JAX-RS所需的基本库文件,这些jar包将帮助开发者快速搭建REST服务环境。下面我们将详细讲解JAX-RS的核心概念和关键组件,以及如何利用这些jar包进行实际开发。 1...
JAX-RS 2.1规范的最终版发布于2017年7月13日,由编辑Pavel Bucek和Santiago Pericas-Geertsen负责,可通过邮件组jaxrs-spec@javaee.groups.io进行评论反馈。该规范的发布由Oracle Corporation支持,它进一步强化了...
本实例将详细介绍如何使用JAX-RS实现REST接口,并通过`com.rest.restlet.RestJaxRsServer`服务启动类和`com.rest.restlet.client.Client`客户端调用类进行演示。 ### 1. JAX-RS基础 JAX-RS通过注解简化了REST服务...
JAX-RS是Java平台上的标准,用于构建RESTful Web服务,而Spring则是一个全面的后端框架,提供了包括依赖注入、事务管理、AOP(面向切面编程)在内的多种功能。 **JAX-RS 知识点** 1. **定义**: JAX-RS 是JSR 339...
如果你还不了解REST,那这个简短的介绍将有助你快速掌握REST,此外还可以点击这里了解关于REST的更多信息。 相关厂商内容 高速下载:Adobe Flash Builder 4 简体中文正式版 for Windows 高速下载:Adobe Flash ...
总的来说,"JAX-RS Rest RestLet项目源码"为学习者提供了一个很好的起点,让他们能够动手构建自己的REST服务,并理解RESTful架构的核心概念。通过这个项目,不仅可以学习到JAX-RS的API,还能熟悉RESTLet框架的特性,...
作者Bill Burke以其在Java技术方面的深厚底蕴和对RESTful架构的深刻理解,引领读者深入理解并掌握JAX-RS 2.0标准。 书中首先介绍了REST的概念以及其与HTTP的重生之间的联系。REST(Representational State Transfer...
**JAX-RS 开发实例:Bookkeeping** JAX-RS,全称为Java API for RESTful Web Services,是Java平台上的一个标准,用于构建RESTful Web服务。它为开发人员提供了一种简单、直观的方式来创建Web服务,这些服务可以...
在本文中,我们将深入探讨如何使用Java API for RESTful Web Services (JAX-RS) 和 Jersey 实现文件上传功能。标题“JAX-RS-FileUpload-Jersey-Example”暗示了我们将集中讨论如何利用这两个强大的工具来创建一个...
JAX-RS REST helloworld 项目源码 下载后引入eclipse jee 启动tomcat可直接访问 访问路径为http://localhost:8080/AndroidJAX-RS/jaxrs/helloworld/html
文件"java webservice CXF JAX-WS(SOAP) + JAX-RS(RESTfull).docx"可能包含了具体的示例代码和详细步骤,帮助理解如何在SSH环境中集成并使用CXF和JAX-RS。建议参考文档中的内容进行实践操作,以加深理解。 总的来说...