介面編寫注意事項
-
簽名:對外提供的介面要做簽名認證,認證不透過的請求不允許訪問介面、提供服務。
-
加密:敏感資料在網路傳輸過程中應該加密。
-
IP白名單:限制請求的IP,增加IP白名單,一般在閘道器層處理。
-
限流:尤其是對外提供的介面,無法保障呼叫的頻率,應該做限流處理,保障介面服務正常提供服務。
-
引數校驗:即使前端做了非空,規範性校驗,服務端引數校驗仍然是非常必要的。
-
統一返回值:一個服務一套同意的資料返回結果和傳參規範。
-
統一異常封裝:系統報錯友好提示,避免暴露出sql異常的資訊給呼叫方。
-
請求日誌:記錄系統產生的日誌,方便快速定位分析問題。
-
冪等設計:對於一些涉及到資料一致性的介面一定要做好冪等設計,防止資料出現重複問題。
-
限制記錄條數:對於提供的大批次資料查詢介面,一定要限制請求的記錄條數。
-
壓測:上線前我們務必要對 API介面做一下壓力測試,知道各個介面的qps情況。以便於我們能夠更好的預估,需要部署多少伺服器節點,對於API介面的穩定性至關重要
-
非同步處理:如果同步處理業務,耗時會非常長。這種情況下,為了提升API介面的效能,我們可以改成非同步處理。
-
資料脫敏:關係到業務中使用者的敏感資料要進行脫敏處理。
-
完整的介面文件。
公共資料介面API
https://www.zhihu.com/question/32225726
https://www.cnblogs.com/chen0307/p/9634848.html
https://www.kancloud.cn/lizhixuan/free_api
https://www.seniverse.com/api
https://apis.baidu.com/