一、什么是RESTful架构?
REST即Representational State Transfer的缩写,我们把他翻译为表述性状态传递,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
当然我们把一个符合这种REST风格的架构就叫做RESTful风格
二、理解REST本身的意义
1.Representational表现层
我们把"资源"具体呈现出来的形式,叫做它的"表现层"。
我们可以用URI(统一资源定位符)指向"资源",URI只代表"资源"的位置,它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述
2.State Transfer状态转化
访问一个网站就要涉及客户端与服务器端的互动,同时也肯定要涉及数据与状态的变化。网站后端提供资源查询服务的,一切皆资源,服务器保存资源,客户端请求资源。
HTTP是个无状态的协议,所以状态就保存在服务器端。所以此时客户端想要操作服务器端,就必须引起服务器端的State Transfer(状态转化),这就需要一些手段。
客户端操作引起服务器端的State Transfer手段一般有以下四种
HTTP动词 操作
GET 用来获取资源
POST 新建资源
PUT 更新资源
DELETE 删除资源
三、使用json-server模拟REST API(接口)
在开发过程中, 前后端分离, 接口多半是滞后于页面开发所以需要建立一个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数据
3.json-server的使用
我比较喜欢使用Postman(Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件),
在命令行中进入当前文件夹输入npm run server
(1).选择操作
(2).GET操作(读取id= 1 的comments)
(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
}
]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。