restFul介紹及其使用規範

2022-08-23 00:12:10 字數 1934 閱讀 1974

什麼是rest和restful api?

rest:(英文:representational state transfer,簡稱rest)表徵性狀態轉移,是一種軟體架構風格。

restful : restful api就是rest風格的api

restful規範:

1、建議使用https作為網路通訊協議

2、介面的url建議加上'api'字元,清晰地表明此url是乙個介面

3、介面版本號相關字元v1/v2/v3...建議加在介面的url上,表明當前介面的版本號

4、返回值中包含狀態碼或者code,狀態碼標識當前http請求的響應碼,響應碼具體表明的狀態在http協議裡已經做了解釋。而code則是對請求返回狀態的更細的細分,code彌補了狀態碼不夠用的現實,具體的code表明哪種狀態,我們需要跟前端商量決定。

常用狀態碼:

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 - [*]:伺服器發生錯誤,使用者將無法判斷發出的請求是否成功。

5、路徑,把網路上的任何東西都看作資源,restful協議建議我們使用名詞來表明介面url路徑path

6、method:請求方法,restful建議操作同一資源根據不同的http請求方法執行增刪改查等不同的操作

get:從伺服器取出資源

post:建立新的資源

put:更新資源的全部屬性字段

patch:更新資源的區域性屬性字段

delete:從伺服器上刪除資源

7、過濾篩選,restful建議我們把操作資源時的過濾條件加在url上面,多以查詢字串的方式

?age=10&gender=0

8、錯誤處理,當返回值的狀態碼為4xx時,返回錯誤資訊,以便前端展示

9、返回結果,針對不同操作,伺服器向使用者返回的結果應該符合以下規範(具體是否需要返回須看前端需求)。

get/collection:返回資源物件的列表(陣列)

get/collection/resource:返回單個資源物件

post/collection:返回新生成的資源物件

put/collection/resource:返回完整的資源物件

patch/collection/resource:返回完整的資源物件

delete/collection/resource:返回乙個空

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

}

restful規範介紹

團隊之間協作有很多的介面規範,團隊做大了,平台之間的資料傳輸的規範需要定義好。需要有乙個閥,restful 就是這樣的乙個規範,我們都應該遵守這樣的乙個規範。越來越多的人意識到,即軟體,而且是一種新型的軟體 開發,完全可以採用軟體開發的模式。但是傳統上,軟體和網路是兩個不同的領域,網際網路的興起讓這...

restful介面規範

資源 resource 任何東西都是一種資源,例如,一篇部落格文章 表示 representation 資源的一種表現形式,例如,json xml url 每個資源都應該有乙個對應的url uri url是uri的一種,url都有對應的資源,而uri不一定,它強調的是一種資源標識 get 獲得乙個資...

RESTful格式規範

restful是介面開發格式裡面很重要的乙個山頭,基本開發介面都需要遵守這個規範,它共有十條規範格式 1 網域名稱,一般將api放在組網域名稱下 3 路徑,路徑表示api的具體 代表一種資源,中不能使用動詞,只能使用名詞,而其必須是複數 4 使用標準的http方法,由http動詞組成 get sel...