REST即Representational State Transfer的缩写,咱们把他翻译为表述性状态传递,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,能够下降开发的复杂性,提升系统的可伸缩性。前端
固然咱们把一个符合这种REST风格的架构就叫作RESTful风格npm
1.Representational表现层
咱们把"资源"具体呈现出来的形式,叫作它的"表现层"。
咱们能够用URI(统一资源定位符)指向"资源",URI只表明"资源"的位置,它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述json
2.State Transfer状态转化
访问一个网站就要涉及客户端与服务器端的互动,同时也确定要涉及数据与状态的变化。网站后端提供资源查询服务的,一切皆资源,服务器保存资源,客户端请求资源。
HTTP是个无状态的协议,因此状态就保存在服务器端。因此此时客户端想要操做服务器端,就必须引发服务器端的State Transfer(状态转化),这就须要一些手段。后端
客户端操做引发服务器端的State Transfer手段通常有如下四种
HTTP动词 操做
GET 用来获取资源
POST 新建资源
PUT 更新资源
DELETE 删除资源服务器
在开发过程当中, 先后端分离, 接口多半是滞后于页面开发因此须要创建一个REST风格的API接口, 给前端页面提供,虚拟的数据,是很是必要的。json-server只要少许的数据就可以使用,支持cors 和jsonp。同时支持get post put delete patch,同时提供一系列的查询方法如limit order。网络
1.配置环境
yarn add global json-server(npm install json-server -g ) 架构
2.json数据cors
3.json-server的使用
我比较喜欢使用Postman(Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件),
在命令行中进入当前文件夹输入npm run server
(1).选择操做前后端分离
(2).GET操做(读取id= 1 的comments)post
(3).POST操做(新建id= 2 的comments)
对应的db.json中的数据
"comments": [ { "body": "Hello laowang", "id": 1 }, { "body": "Hello json-server", "id": 2 } ]
(4). PUT操做(更新id= 2 的comments)
"comments": [ { "body": "Hello laowang", "id": 1 }, { "body": "Hello update", "id": 2 } ],
(5). DELETE操做(删除id= 2 的comments)
"comments": [ { "body": "Hello laowang", "id": 1 } ]