API接口設計需要注意的那些事兒
隨著前后端的分離,API接口變得越來越重要,作為前后端通信的接口,API 變得非常重要,而且它的設計也是非常難以掌握。不僅要考慮安全性,還要考慮可維護性,以及今后的升級等等。
如何才能設計出更好的API接口,我認為以下幾點需要注意。

接口一致性
這里說的一致性指的是編碼規范要統一,不能各個接口使用不一樣的編碼風格。對于返回格式的處理也是一樣,要統一返回格式,返回碼也要統一,對于403,404的處理要保持一致。
授權認證
大部分接口都是需要授權認證的,因此我們需要對接口的授權認證進行判斷,這樣可以過濾掉大部分的非法訪問。

接口健康性檢查
我們應該設計一個監控系統或者一個接口來實時監控我們的服務,如果接口出現了問題,我們應該能夠第一時間發現,同樣,對于每個接口的訪問請求我們都要有日志記錄的存儲。

版本管理
無論是小程序,還是app,還是網站,我們都是需要版本升級的,而提前設計好版本,可以避免因為升級導致舊的服務無法正常工作,我們要保證在升級的時候,新舊版本的服務都能正常運轉。
參數接收判斷
對于接口參數的個數,參數的類型,我們都要進行判斷處理,對于一些非法字段,我們要及時發現并處理,總之,用戶傳送的信息,我們總要保持懷疑態度去處理它。
盡量采用restful風格
雖然restful風格被一些人質疑,但是目前來看,它還是最好的接口設計風格,通過采用restful風格,可以讓接口語義更加明確 ,規范,優雅省去了大部分 無意義的溝通,通過使用不同的http狀態碼,可以非常清楚地幫助用戶理解接口的返回情況。

提供完整詳細的API文檔
無論我們的接口設計得多么規范,多么易懂,我們都需要提供一份完整的api文檔,同時我們還需要提供一些請求范例,這樣用戶在使用的時候才會更加清楚,也能避免一些錯誤的請求。
錯誤返回要明確
對于錯誤信息返回的時候盡量要明確,是程序問題,還是查找問題,還是參數問題,或者其他原因,給出明確具體的錯誤原因,非常方便我們對問題的處理。
統一設計分頁
對于資源的請求都采用分頁返回,一方面減少了資源的返回,一方面減少了服務器的開銷。

做好限流控制
你永遠不知道你的用戶會怎樣使用你的接口,可能它會因為錯誤地返回結果而不停地重試接口,我們要能夠對頻繁請求進行限制。
























