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 } ]