初識web API介面及Restful介面規範

2022-01-22 04:04:25 字數 3522 閱讀 6904

明確了請求方式,提供對應後台所需引數,請求url鏈結可以得到後台的響應資料

url : 返回資料的url

請求方式:

get,post,put,patch....

請求引數:json或xml格式的key-value型別資料

響應結果:

​ 返回json或xml格式的key-value型別資料

​ 參照某種規則(規範)書寫url鏈結,同時根據規則制定請求方式,請求資料與響應結果

​ 提供給前後臺開發人員與測試人員檢視

​ 專門寫介面文件的yapi平台

​ yapi是去哪兒網的前端技術中心的乙個開源視覺化介面管理平台

postman是一款介面除錯工具,是一款免費的視覺化軟體,同時支援各種作業系統平台,是測試介面的首選工具。

​ webapi介面規範:restful

​rest與技術無關,代表的是一種軟體架構風格,rest是representational state transfer的簡稱,中文翻譯為「表徵狀態轉移」或「表現層狀態轉化」。

推薦閱讀 阮一峰 理解restful架構

推薦閱讀 阮一峰 restful設計指南

總是使用https協議。

用api關鍵字來標識介面url

\1. 將版本資訊放在url中,如:

​ /v1/

​ /v2/

​ v1,v2代表不同資料版本的提現,前提是一種資料資源有多個版本

\2. 將版本資訊放在請求頭中。

視網路上任何東西都是資源,均使用名詞表示(一般為複數形式)

/v1/zoos

/v1/animals

/v1/employees

在url鏈結中獎勵不要出現操作資源的動詞

​ 錯誤示範:

特殊的介面可以出現動詞,因為這些介面一般沒有乙個明確的資源,或是動詞就是介面的核心含義

get :從伺服器取出資源(一項或多項)

post :在伺服器新建乙個資源

put :在伺服器更新資源(客戶端提供改變後的完整資源)

patch :在伺服器更新資源(客戶端提供改變的屬性)

delete :從伺服器刪除資源

通過在url上傳參的形式傳遞搜尋條件

/v1/zoos?limit=10:指定返回記錄的數量

/v1/zoos?offset=10:指定返回記錄的開始位置

/v1/zoos?page=2&per_page=100:指定第幾頁,以及每頁的記錄數

/v1/zoos?sortby=name&order=asc:指定返回結果按照哪個屬性排序,以及排序順序

/v1/zoos?animal_type_id=1:指定篩選條件

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

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

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

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

301:永久重定向

302:暫時重定向

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

狀態碼是4xx時,應返回錯誤資訊,error當做key。    

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

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

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

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

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

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

delete /collection/resource:返回乙個空文件

,

"address":"月羅路2380號",

"province":"上海市",

"city":"上海市",

"area":"寶山區",

"street_id":"339ed41ae1d6dc320a5cb37c",

"telephone":"(021)56761006",

"detail":1,

"uid":"339ed41ae1d6dc320a5cb37c"

}...]}

}

給WebAPI的REST介面服務新增測試頁面(一)

當使用webapi提供rest服務的時候,乙個經常進行的操作是對介面進行測試。asp.net webapi框架本身並沒有提供這一介面,不過由於提供的是標準的rest服務,是可以非常方便的使用一些第三方的工具的。我之前經常用的chrome的postman外掛程式來進行測試,它可以用來模擬各種http請...

給WebAPI的REST介面新增測試頁面(三)

在前面的文章中,我介紹過了通過swashbuckle 在webapi 中整合swagger ui 不過這種方式不適合於最新版的 asp.net mvc6 下的webapi 在網上搜了一下,發現了它還有乙個專供 asp.net mvc6 webapi 使用的版本 新版本的使用也不複雜,首先在 proj...

Web Api 智慧型Api介面

web api 智慧型api介面php版本 本api完全免費使用,我們將盡可能提供最快最穩定的伺服器,歡迎們提供贊助!贊助我們 因本站伺服器資源有限,同時建議有條件的朋友可以購買該api資料及程式,詳詢qq56559574 引數說明 天氣 msg 天氣深圳 中英翻譯 msg 翻譯i love you...