學習設計API

2022-09-21 06:03:12 字數 1429 閱讀 8811

介紹

其實對於我們接觸的web端開發而說,api就是協商好的一種規範,大家都按這個規範做事,這裡主要針對前&後端互動的介面進行說明~

返回值約定

返回值是指當前端返回後端給出的介面時返回的資料格式,常見的有這麼幾種:text, json, xml,現在大多數會用json,因為她傳輸資料少,可擴充套件性強,b格高~

方式一我們約定返回值如果包含errcode則視為有錯誤,並會出現可選的msg欄位,無錯誤則使用items表示迴圈的資料,格式如:

//提交成功,沒有返回資料

//獲取成功,返回列表資料

"items":[

"id": 1,

"name": "前端小武"

//獲取失敗,

"errcode": 1

//提交失敗

"errcode": 1,

"msg": "使用者名為空"

//返回乙個鏈結

"url": "/login/"

這種格式通常errcode會有乙個公用的錯誤碼,比如1001沒登入,2001使用者被鎖定等,注意的是這個值是強制型別,前端判斷:

function success (res) else else 獲取單個**資訊

顯式語義化風格

/api/photos/get-list 獲取**列表/api/photos/create 建立**/api/photos/delete 刪除**/api/photos/set 更新/api/photos/set-xx 更新某項/api/photos/get/ 建立單個

restful

rest是一種風格,也可以說是一種思想,現在已經被廣泛的應用於客戶端介面的開發,這是一種以提交型別來約定行為的,比如:

get /api/article 獲取所有的article列表get /api/article/10 獲取id為10的article詳細資訊post /api/article 新增乙個articleput /api/article/10 更新id為10的article資料delete /api/article/10 刪除id為10的article資料

ruanyifeng/blog/2014/05/restful_api.html

引數引數分必選和可選,分資料型別,字段說明,如:

引數名必選型別及範圍說明pagefalseint當前頁, 預設為1page_sizefalseint每頁多少條資料, 預設為20statustrueint**狀態, 1未開始, 2進行中, 3已完成, 4已刪除

文件介面文件常用的字段:

名稱,該介面的名稱備註,該介面的一些使用場景,注意問題等說明路徑,表明出訪問該介面的位址返回值格式,通常為json請求方式,請求該介面的方式引數,詳情列出介面需要的引數,分可選、必選返回字段說明,以文字描述出返回值比較重要的字段返回值例子,分多種狀態列出該介面可能出現的返回值

文件demo

版本控制

大版本小版本

服務API設計 之 API設計原則

對接xx業務時,xx業務具備的功能和api全靠跑業務負責人那反覆逐個詢問 確認。用哪個api 怎麼用 有沒有限制 等等 各個業務間,甚至同一業務內,api風格不統一。xx業務api效能方面未知。隨著業務的演進,開放的api持續在增加,但類同的很多 api編碼規範迫在眉睫 自解釋 易學習 易使用 難誤...

開放api設計

博主不大擅長寫作,但看了 高效能程式設計師的修煉 一書,不得不改變下自己。本文是對最近使用web service做專案時,討論的總結。如有錯誤,歡迎勘正,共同提高。第一次寫技術部落格,難免邏輯和條理不清,也請指點。本著分享和學習的目的,歡迎拍磚!主要分次三部分 restful風格 開放api的技術要...

api 設計良好 API 的特點

這裡 的 api 均為系統邊界的api設計,而對於內部 api 來說不在 範圍之內。變動困難 api 就像乙個人一樣,我們和乙個api打交道的時候需要了解這個人的特性偏好等,有的人很好相處,而有的人讓人很頭疼,尤其是你不得不和他打交道的時候。和人一樣,如果你不得不和他打交道,要改變他的秉性是很痛苦的...