resultful規範使用

2021-08-26 05:23:55 字數 2637 閱讀 5332

什麼是resultful:

1.根據method的不同,做不同的操作,示例:

deforder

():if request.method == 'get':

return

'獲取資料'

elif request.method == 'post':

return

'建立資料'

elif request.method == 'put':

return

'更新資料'

elif request.method == 'delete':

return

'刪除資料'

method還有patch

put 是在伺服器更新全部資源

patch 是在伺服器上更新區域性資源

2.api與使用者的通訊協議,總是使用https協議。

3.網域名稱

子網域名稱方式(解決跨域問題):

如 www.huangyongpeng.com

api.huangyongpeng.com(存在跨域問題)

url方式:

如 www.huangyongpeng.com

這樣別人一看到這種url就知道這是乙個介面。

4.版本

也可以寫在請求頭裡面,不過不推薦

5.面向資源程式設計,網路上任何東西都是資源,均使用名詞表示

如一開始用的order

6.過濾,通過在url上傳參的形式傳遞搜尋條件

如: www.huangyongpeng/api/v1/order?page=2翻到第二頁

7.狀態碼

常用的有以下幾個:

200 ok - [get]:伺服器成功返回使用者請求的資料,該操作是冪等的(idempotent)。

201 created - [post/put/patch]:使用者新建或修改資料成功。

202 accepted - [*]:表示乙個請求已經進入後台排隊(非同步任務)

204 no content - [delete]:使用者刪除資料成功。

400 invalid request - [post/put/patch]:使用者發出的請求有錯誤,伺服器沒有進行新建或修改資料的操作,該操作是冪等的。

401 unauthorized - [*]:表示使用者沒有許可權(令牌、使用者名稱、密碼錯誤)。

403 forbidden - [*] 表示使用者得到授權(與401錯誤相對),但是訪問是被禁止的。

404 not found - [*]:使用者發出的請求針對的是不存在的記錄,伺服器沒有進行操作,該操作是冪等的。

406 not acceptable - [get]:使用者請求的格式不可得(比如使用者請求json格式,但是只有xml格式)。

410 gone -[get]:使用者請求的資源被永久刪除,且不會再得到的。

422 unprocesable entity - [post/put/patch] 當建立乙個物件時,發生乙個驗證錯誤。

500 internal server error - [*]:伺服器發生錯誤,使用者將無法判斷發出的請求是否成功。

一般可以這樣看

200系列是成功

300系列是重定向問題

400系列客服端錯誤

500系列服務端錯誤

但是僅僅靠狀態碼是不能全部表示資料的狀態的,所以在返回時用code和狀態碼結合。

8.錯誤處理,返回錯誤資訊

9.返回結果,針對不同操作,伺服器向使用者返回的結果應該符合以下規範

get /order/

返回資源物件的列表(陣列)

get /order/1/

返回單個資源物件

post /order/

返回新生成的資源物件

put /order/1/

返回完整的資源物件

patch /order/1/

返回完整的資源物件

delete /order/1/

返回乙個空文件

10.hypermedia api,restful api最好做到hypermedia,即返回結果中提供鏈結,連向其他api方法,使得使用者不查文件,也知道下一步應該做什麼

resultful其實本質上就是乙個規範,定義一些規範讓我們寫api的時候更好作區分,讓後台更好作處理,讓我們的前台更好的記住這些url,說白了就是在這個url體現出對這個api的操作。遵循這個規範,就是讓大家在協同開發的時候,相互之間更加統一了。

原來我們沒用api之前,我們用的是get,post…全都能實現,但只不過url得儲存好多個,學了resultful api之後,才漸漸的去使用,但使用的過程中,也會發現有的能適用,有的不能適用。

resulful規範 resultful風格簡介

一 為了不同的前端和後端進行資訊互動,resultful api是一種比較流行的一種api規範。結構清晰符合標準,易於理解 擴充套件方便,便於前端開發者進行區分訪問介面資源。restfule風格是一種軟體架構風格,而不是標準,只是提供了一種設計原則和約束條件。主要適用於客戶端和伺服器端互動的軟體。是...

mysql 使用規範 MySQL使用規範

一 表設計類 強制類規範 1.建立表的儲存引擎必須是innodb。2.每個表必須顯式的指定乙個主鍵。3.不允許使用聯合主鍵。4.不允許使用外來鍵。5.不允許存在和主鍵重複的索引。6.自增長字段必須是主鍵或唯一索引。7.不允許在資料庫中儲存諸如,影像之類的二進位制資料。8.不允許使用text型別字段 ...

mysql 使用規範 MySQL使用規範

mysql使用規範 一 核心規範 www.2cto.com 1.不用資料庫做運營,如md5 order by rand 2.控制單錶資料量 a 單錶純int不超過1000w b 單錶含char不超過500w c 單庫不超過300 400個表 3.表字段數少而精 a 影響因素 i.io高效 ii.全表...