点击上方“前端自习课”关注,学习起来~
其他修炼宝典:
【全栈修炼】396- OAuth2 修炼宝典
【全栈修炼】414- CORS和CSRF修炼宝典
一、概念介绍
REST:(Representational State Transfer)即 表现层状态转换 ,定义了 资源 的通用访问格式,是一种网络应用程序的 设计风格 和 开发方式 。
在概念中,需要理解以下几个名称:
资源(Resource)
即 服务器上获取到的东西任何资源 ,一条用户记录,一个用户的密码,一张图片等等都是。
资源的表述(Representation)
即 资源格式 ,是 HTML、XML、JSON、纯文本、图片等等,可以用各种各样的格式来表述你获取到的资源。
状态转移(State Transfer)
即 URL定位资源 ,用 HTTP 动词(GET,POST,DELETE,DETC)描述操作。操作是动词,资源是名词。
统一接口(Uniform Interface)
即通过统一的接口对资源进行操作。
REST 通常基于使用 HTTP
, URI
,和 XML
以及 HTML
这些现有的广泛流行的协议和标准,每一种 URI 代表一种资源。
REST 通常使用 JSON
数据格式。
REST 基本架构的四个方法:
GET- 用于 获取数据
PUT- 用于 更新或添加数据
DELETE- 用于 删除数据
POST- 用于 添加数据
下面会通过一个场景介绍。
可更高效利用缓存来提高响应速度
通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
浏览器即可作为客户端,简化软件需求
相对于其他叠加在HTTP协议之上的机制,REST的软件依赖性更小
不需要额外的资源发现机制
在软件技术演进中的长期的兼容性更好
REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义:
获取所有 user
获取指定 id 的 user
新建一条 user 记录
更新一条 user 记录
删除一条 user 记录
获取一个 user 的所有消费账单
获取一个 user 指定时间的消费账单
以上其中 RESTful 风格 API 几乎包含常见业务情况。
本案例使用 mock 数据来演示,如下:
我们将实现以下 RESTful API :
这一步我们会创建 RESTful API 中的 listUsers ,用来 读取用户的信息列表 :
这一步我们会创建 RESTful API 中的 addUser ,用来 添加用户记录 :
这一步我们在 RESTful API 中的 URI 后面加上 :id ,用来 获取指定用户详情 :
这一步我们会创建 RESTful API 中的 deleteUser ,用来 删除指定用户 :
《维基百科 - 表现层状态转换》
《RESTful风格的springMVC》
《Node.js RESTful API》