REST
基础及实例开发
REST 基础及实例开发
黄晓娜
2011-11-22
REST
基础及实例开发
REST 基础
REST 概念
REST 设计原则
资源的识别
Restful Web 服务的 java 框架
实例开发(转账业务)
环境准备
服务端开发
服务部署
客户端访问
补充(动态创建 URI 及 REST 常用注释)
理解出错处
REST
基础及实例开发
REST (Representation State Transfer: 表述性状态转移 ) 描述了一个架构样
式的网络系统,比如 web 应用程序。
REST 从资源的角度来描述整个网络,分布在各处的资源由 URI 确定,而
客户端的应用通过 URI 来获取资源的表征。获得这些特征致使这些应用程
序转变了其状态。随着不断获取资源的表征,客户端应用不断地在转变这
其状态,也即所谓的表述状态转移。
REST 是设计风格。它通常基于使用 HTTP , URI ,和 XML 以及 HTML
这些现有的协议和标准。
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用
程序或设计就是 RESTful 。
注意: REST 中的资源指的不是数据,而是数据和表现形式的组合,比如“访问次
数”和“下载次数”在数据上可能有重叠或者完全相同,而由于他们的表现形式不同,
所以被归为不同的资源
REST
基础及实例开发
REST 基础
REST 概念
REST 设计原则
资源的识别
Restful Web 服务的 java 框架
实例开发(转账业务)
环境准备
服务端开发
服务部署
客户端访问
补充(动态创建 URI 及 REST 常用注释)
理解出错处
REST
基础及实例开发
网络上的所有事物都被抽象为资源 - 应用程序对象、数据库记录、算法等。
每个资源对应一个唯一的资源标识符( URI )。
通过通用的连接器接口( GET , PUT , POST , DELETE )对资源进行操作。
对资源的各种操作不会改变资源标识符。
所有操作都是无状态的。每个 HTTP 请求都是孤立的,每个请求都必须包含自己
的参数来完成操作。如果服务器在请求之间的任何时间点重启,客户端不会得到
通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的
环境。客户端可以缓存数据以改进性能。
分层系统:组件无法了解它与之交互的中间层以外的组件。通过将系统知识限制
在单个层,可以限制整个系统的复杂性,促进了底层的独立性。
REST 设计原则包括客户 - 服务器、无状态、缓存、统一接口、分层系统等。 REST 原则
的无状态指服务器端不保存客户应用状态,连接→请求→响应→断开,客户的上一次请求与
下一个请求没有关系。
服务器端响应客户请求返回资源的表述及相关链接,该表述的本身就是客户的当前状态,客
户按照表述中提供的链接选择下一个表述,迁移到下一个状态。也就是服务器通过表述为状
态迁移提供指导,而状态的迁移权掌控在用户手里,客户根据自己的需要选择链接,由当前
状态迁移到下一个状态。
- 1
- 2
- 3
- 4
- 5
- 6
前往页