1.1. REST是什么?
- Roy Thomas Fielding博士2000年提出的
- REST是英文Representational State Transfer的缩写 -表象化状态转变或者 表述性状态转移
- REST是Web服务的一种架构风格
- 使用Http、URI等广泛流行的标准和协议
- 轻量级、跨平台、跨语言的架构设计
- REST是一种设计风格,它不是一种标准,也不是一种软件,是一种思想
- REST通常基于使用HTTP、URI、XML、JSON、以及HTML这些现有的广泛流行的协议和标准
1.2. RESTful是什么?
- RESTful对应的中文是REST式的。
- RESTful Web Service是一种常见的REST的应用,是遵守了REST风格的web服务。
- REST式的web服务时一种ROA(面相资源的架构)。
1.3. REST 架构的主要原则
- 网络上的所有都可被抽象为资源(Resource)。
- 每个资源都有一个唯一的资源标识符(Resource Identifier)。
- 同一资源具有多种表现形式(xml、json等)。
- 对资源的各种操作不会改变资源标识符。
- 所有的操作都是无状态的(Stateless)。
- 符合REST原则的架构方式即可称为RESTful。
1.4. URI和URL
URI:http://localhost/users/
URL:http://localhost/users/{user}
1.5. 无状态性
- 无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前Request,而不必了解前面Request的历史。
- 可以更容易地释放资源。
- 服务器充分利用Pool技术来提高稳定性和性能。
1.6. 资源操作
之前的操作:
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete GET/POST 删除用户信息
RESTful用法:
http://127.0.0.1/user/1 GET 根据用户id查询用户数据
http://127.0.0.1/user POST 新增用户
http://127.0.0.1/user PUT 修改用户信息
http://127.0.0.1/user DELETE 删除用户信息
1.7. REST接口定义