我們知道API其實就是應用程序編程接口,可以把它理解為是壹種通道,用來和不同軟件系統間進行通信,本質上它是預先定義的函數。API有很多種形式,最為常見的就是以HTTP協議來提供服務(如:RESTful),只要符合規範就可正常使用。現在各類企業在信息化這塊都會用到第三方提供的API,也會提供API給第三方調用,因此設計API也是需要慎重的。
具體該如何開發設計壹個良好的API接口呢?
明確功能
在設計之初就需要將API詳細功能整理出來,按業務功能點或模塊來劃分,明確此API需要提供哪些功能。
代碼邏輯清晰
保持代碼整潔性,增加必要的註釋,接口確保功能單壹,如果壹個接口需要復雜的業務邏輯,建議拆分成多個接口或者將功能獨立封裝成公***方法,避免接口裏代碼過多,不利於後期人員維護和後期叠代。
必要的安全校驗機制
目前Web應用很容易遭遇數據竊取、篡改、非法提交、重復請求等安全問題,API的安全校驗機制是必不可少的。常用解決方案就是采用數字簽名形式,將每個HTTP請求都加上簽名,服務器端校驗簽名合法性來保證請求是否合法。
日誌記錄
為便於及時定位問題,日誌是必不可少的。
降低耦合度
壹個良好的API應該是越簡單越好,如果API間業務耦合度過高很容易因某塊代碼異常導致相關API的不可用,盡可能避免API間的復雜調用關系。
返回有意義的狀態碼
API返回數據中要攜帶狀態碼數據,比如200代表請求正常,500代表服務器內部錯誤等。返回通用的狀態碼有利於問題定位,比如可參考以下狀態碼:
開發文檔
既然API是提供給第三方或內部使用的,那開發文檔是必不可少的,否則他人不知道如何調用。壹個良好的API開發文檔應包含以下元素:
1、當前API架構模式講解、開發工具及版本、系統依懶等環境信息;
2、當前API提供哪些功能;
3、API模塊間的依懶關系;
4、調用規則、註意事項;
5、部署註意事項等。
壹個好的API必然是易使用,易看懂,易擴展,難誤用,安全性高,功能強大的API。要做到上面幾點並不容易,但是我們應當遵從上述原則結合業務本身合理的劃分設計API