理解RESTful架构与json-server模拟REST api的使用

1、什么是RESTful架构?

REST即Representational State Transfer的缩写,咱们把他翻译为表述性状态传递,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,能够下降开发的复杂性,提升系统的可伸缩性前端

固然咱们把一个符合这种REST风格的架构就叫作RESTful风格npm

2、理解REST自己的意义

1.Representational表现层
咱们把"资源"具体呈现出来的形式,叫作它的"表现层"
咱们能够用URI(统一资源定位符)指向"资源",URI只表明"资源"的位置,它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述json

2.State Transfer状态转化
访问一个网站就要涉及客户端与服务器端的互动,同时也确定要涉及数据与状态的变化。网站后端提供资源查询服务的,一切皆资源,服务器保存资源,客户端请求资源。
HTTP是个无状态的协议,因此状态就保存在服务器端。因此此时客户端想要操做服务器端,就必须引发服务器端的State Transfer(状态转化),这就须要一些手段。后端

客户端操做引发服务器端的State Transfer手段通常有如下四种
HTTP动词 操做
GET 用来获取资源
POST 新建资源
PUT 更新资源
DELETE 删除资源服务器

3、使用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数据
图片描述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
    }
  ]
相关文章
相关标签/搜索