兵馬未動, 糧草先行, 意思是兵馬未動, 糧草先行是指出兵之前, 先準備好糧食和草料。 比喻在做某件事情之前, 提前做好準備工作。
這個成語的典故出自林占財《森林中的遠征》:“他很同情地說道:‘是的:“兵馬未動, 糧草先行。 ”這是自古以來用兵的老規矩, 你們沒有糧食怎麼走這麼遠的路!”
有點扯遠了, 今天我們來討論下如何站在用戶的角度構建API!
以下僅是個人的一些見解, 如有描述不當的地方, 還請指出!
百科中是這麼介紹的:應用程式介面(英語:Application Programming Interface, 簡稱:API), 又稱為應用程式設計介面, 就是軟體系統不同組成部分銜接的約定。 由於近年來軟體的規模日益龐大, 常常需要把複雜的系統劃分成小的組成部分, 程式設計介面的設計十分重要。 程式設計的實踐中, 程式設計介面的設計首先要使軟體系統的職責得到合理劃分。 良好的介面設計可以降低系統各部分的相互依賴,
通俗的來講, 就是資料提供方(暫且這麼說明吧)
構建當所有的需求的完全確定之後, 需要做的並不是立即投入到開發中。 如果您是屬於這種情況的, 個人建議還是變更一下吧!
個人認為API開發需要遵循以下點:
定義介面規範
確定請求參數、參數類型
確定返回資料類型、資料格式、參數
介面文檔
開發人員在開發API時, 有的時候不會特別的注重這些, 返回的資料隨意定義, 這種情況不知道大家遇到過沒有, 如果有遇到過的同仁, 我能說的就是:來吧, 借你塊板磚用用!
良好的API設計規範
上圖是個人在開發過程中整理出來的一套介面文檔, 其中詳細的包含了請求資訊、請求參數、返回格式、返回說明等介紹(只是介紹的基礎的應用, 有關安全方面的問題還需要各位自行加上), 不敢說該套定義規範是完美的, 但是給到用戶後至少不會挨駡的!
相容API在開發過程中也是時刻在更新的,
這種情況下,
要麼就是簡單暴力,
新開一個API處理新的邏輯。
要麼就是對已經存在的API進行修改,
修改時候切記考慮線上版本的情況,
儘量是新增欄位而不是修改原有欄位。
API開發第一步往往是為了完成某些具體的功能,
但是隨著業務的變更,
某個頁面可能需要的就不是單單的一個API就能實現的,
這種情況下,
為了減少用戶端和伺服器在建立連接時候消耗的時間,
在業務場景允許的情況下,
儘量將API進行合併,
最好通過一個API就能獲取到全部的資訊!
欄位精簡, 就是只返回有用的資訊, 將不需要的欄位儘量精簡掉, 避免傳輸無用的資料浪費流量!
終極目標:用戶體驗。 這個不管是在做Web開發、還是APP開發, 總會被提及到, 沒有什麼原因, 用戶高於一切!
本篇文章頭條號作者:瘋狂的碼農