RESTful Web Service
1、REST是什么
- Roy Thomas Fielding博士2000年提出的
- REST是英文Representational State Transfer的缩写
- 表象化状态转变 或者表述性状态转移
- REST是Web服务的一种架构风格
- 使用HTTP、URI等广泛流行的标准和协议
- 轻量级、跨平台、跨语言的架构设计。
2、REST到底是什么
- REST是一种设计风格。它不是一种标准,也不是一种软件,而是一种思想。
- REST通常基于使用HTTP,URI,和XML,JSON以及HTML这些现有的广泛流行的协议和标准。
3、RESTful是什么
- RESTful对应的中文是 REST式的。
- RESTful Web Service是一种常见的REST的应用,是遵守了REST风格的web服务。
- REST式的web服务是一种ROA(面向资源的架构)
4、REST 架构的主要原则
- 网络上的所有事物都可被抽象为资源(Resource)
- 每个资源都有一个唯一的资源标识符(Resource Identifier)
- 同一资源具有多种表现形式(xml、json等)
- 对资源的各种操作不会改变资源标识符
- 所有的操作都是无状态的(Stateless)
- 符合REST原则的架构方式即可称为RESTful
5、无状态性
- 无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前 Request,而不必了解前面 Request 的历史。
- 从而可以更容易地释放资源。
- 让服务器充分利用 Pool 技术来提高稳定性和性能。
6、资源操作
http://example.com/users/
** GET : 获取一个资源 **
POST : 创建一个新的资源
PUT : 修改一个资源的状态
DELETE :删除一个资源
资源展现
XML
JSON
…......
7、REST接口定义
![20161230201217661][]
8、最佳实践:REST接口设计
- URL的组成
- 网络协议(http、https)
- 服务器地址
- 接口名称
?参数列表
- URL定义限定
不要使用大写字母
- 使用中线 - 代替下划线 _
- 参数列表应该被encode过
9、最佳实践:响应设计
- Content body 仅仅用来传输数据。
- 数据要做到拿来就可用的原则,不需要“拆箱”的过程。
- 用来描述数据或者请求的元数据放Header中,例如 X-Result-Fields。
10、响应示例
![20161230201518059][]
11、指定响应的属性字段
![20161230201607529][]
12、http响应状态码
![20161230212749709][]
还没有评论,来说两句吧...