日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747


什么是REST?什么是RESTful?

 

一、REST來(lái)源

REST:是一組架構(gòu)約束條件和原則,REST是Roy Thomas Fielding在他2000年的博士論文中提出的。 Roy Thomas Fielding是HTTP協(xié)議(1.0版和1.1版)的主要設(shè)計(jì)者、Apache服務(wù)器作者之一、Apache基金會(huì)第一任主席

二、什么是REST

REST(Representational State Transfer):表現(xiàn)層狀態(tài)轉(zhuǎn)移,一種軟件架構(gòu)風(fēng)格,不是標(biāo)準(zhǔn)。既然不是標(biāo)準(zhǔn),我可以遵守,也可以不遵守!!! 什么是表現(xiàn)層狀態(tài)轉(zhuǎn)移:

Representational (表現(xiàn)層) 
State Transfer(狀態(tài)轉(zhuǎn)移):通過(guò)HTTP動(dòng)詞實(shí)現(xiàn)。
  • 總結(jié):URL定位資源,HTTP動(dòng)詞(GET,POST,PUT,DELETE)描述操作。

三、什么是RESTful

基于REST構(gòu)建的API就是RESTful風(fēng)格

四、如何設(shè)計(jì)RESTful風(fēng)格的API

1.路徑設(shè)計(jì)

在RESTful架構(gòu)中,每個(gè)網(wǎng)址代表一種資源(resource),所以網(wǎng)址中不能有動(dòng)詞,只能有名詞,而且所用的名詞往往與數(shù)據(jù)庫(kù)的表名對(duì)應(yīng),一般來(lái)說(shuō),數(shù)據(jù)庫(kù)中的表都是同種記錄的”集合”(collection),所以API中的名詞也應(yīng)該使用復(fù)數(shù)。 舉例來(lái)說(shuō),有一個(gè)API提供動(dòng)物園(zoo)的信息,還包括各種動(dòng)物和雇員的信息,則它的路徑應(yīng)該設(shè)計(jì)成下面這樣。

https://api.example.com/v1/zoos 
https://api.example.com/v1/animals 
https://api.example.com/v1/employees

2.HTTP動(dòng)詞設(shè)計(jì)

對(duì)于資源的具體操作類(lèi)型,由HTTP動(dòng)詞表示,常用的HTTP動(dòng)詞如下:

請(qǐng)求方式	含義
GET	獲取資源(一項(xiàng)或多項(xiàng))
POST	新建資源
PUT	更新資源(客戶(hù)端提供改變后的完整資源)
DELETE	刪除資源

如何通過(guò)URL和http動(dòng)詞獲悉要調(diào)用的功能:

請(qǐng)求方式	含義
GET	/zoos	列出所有動(dòng)物園
POST	/zoos	新建一個(gè)動(dòng)物園
GET	/zoos/ID	獲取某個(gè)指定動(dòng)物園的信息
PUT	/zoos/ID	更新某個(gè)指定動(dòng)物園的信息(提供該動(dòng)物園的全部信息)
DELETE	/zoos/ID	刪除某個(gè)動(dòng)物園
GET	/zoos/ID/animals	列出某個(gè)指定動(dòng)物園的所有動(dòng)物
DELETE	/zoos/ID/animals/ID	刪除某個(gè)指定動(dòng)物園的指定動(dòng)物

RESTFul API的一些最佳實(shí)踐原則:

  1. 使用HTTP動(dòng)詞表示增刪改查資源, GET:查詢(xún),POST:新增,PUT:更新,DELETE:刪除
  2. 返回結(jié)果必須使用JSON
  3. HTTP狀態(tài)碼,在REST中都有特定的意義:200,201,202,204,400,401,403。比如401表示用戶(hù)身份認(rèn)證失敗,403表示你驗(yàn)證身份通過(guò)了,但這個(gè)資源你不能操作。
  4. 如果出現(xiàn)錯(cuò)誤,返回一個(gè)錯(cuò)誤碼: 10000=通用參數(shù)錯(cuò)誤10001=資源未找到
  5. API 必須有版本的概念, v1, v2
  6. 使用Token令牌來(lái)做用戶(hù)身份的校驗(yàn)與權(quán)限分級(jí)
  7. url中大小寫(xiě)不敏感,不要出現(xiàn)大寫(xiě)字母
  8. 使用中劃線(xiàn)而不是使用下劃線(xiàn)做URL路徑中字符串連接
  9. 有一份漂亮的文檔

RESTFul API好用嗎?

某些情況好用,某些情況不好用。什么情況好用,什么情況不好用呢?

  1. 一個(gè)經(jīng)驗(yàn)性的總結(jié):對(duì)于開(kāi)放的API,比如豆瓣、新浪微博、GitHub,好用,非常合適
  2. 對(duì)于內(nèi)部開(kāi)發(fā),不好用
  3. REST是一種軟件架構(gòu)風(fēng)格,不是標(biāo)準(zhǔn)。既然不是標(biāo)準(zhǔn),可以遵守,也可以不遵守!

結(jié)論

實(shí)踐過(guò)程中開(kāi)發(fā)人員靈活把握

分享到:
標(biāo)簽:REST
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定