设计和开发一个接口
商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
作者:jeff wong
鏈接:http://www.zhihu.com/question/29160554/answer/44419486
來源:知乎
設計和開發一個接口,至少要考慮到: 1、功能 2、性能 3、安全 4、易用 5、可擴展 6、可維護 7、可測試 8、可運維 9、協議多樣 10、互聯互通平臺無關。 就說這個登錄接口,你至少要考慮到登錄渠道,密碼存儲安全,數據傳輸安全,試錯操作日志,敏感信息是否可記錄日志,黑白名單等等。ps:問某一個功能接口還可以憑經驗告訴你,你問的是一整個系統的接口,你能給我點咨詢費用不?QQ幣也是可以的。
最近一段時間一直在做APP接口,總結一下APP接口開發過程中的注意事項:?
1、效率:接口訪問速度?
APP有別于WEB服務,對服務器端要求是比較嚴格的,在移動端有限的帶寬條件下,要求接口響應速度要快,所有在開發過程中盡量選擇效率高的框架,PHP建議使用YAF框架。?
2、數據格式?
最好使用JSON格式數據,因為JSON有較好的跨平臺性。對于?
3、數據量?
按需分配,APP客戶端需要什么數據就返回什么數據,過多的數據量影響處理速度,最重要的是影響傳輸效率。?
4、接口、參數命名準確?
無論是接口還是參數,命名都應該有意義,讓人一目了然。?
5、一個頁面盡可能就用一個接口?
現在很多的APP頁面都有廣告、焦點圖、文章列表等,對于這些不同格式的數據,不可能都分配一個接口,這樣加大了APP請求接口數,影響響應速度。建議服務器端盡可能處理好數據后通過一個接口返回給APP客戶端。?
6、緩存?
這點比較重要,不管是文件緩存還是memcache緩存。?
7、接口要有可擴展性?
8、接口安全?
目前一般都是在APP客戶端和服務器通過約定的算法,對傳遞的參數值進行驗證匹配。但是如果APP程序被反編譯,這些約定的算法就會暴露,特別是在安卓APP中,有了算法,完全就可以通過驗證模擬接口請求。
?9、接口版本控制?
對于接口版本控制,自己目前也沒有找到一個好的方法,怎么去應對不斷的APP版本升級,新、舊接口的處理。?
10、接口數據、狀態?
接口必須提供明確的數據狀態信息,不管是成功的,還是失敗的,都必須返回給APP客戶端。?以上10點就是自己在這端時間做APP接口過程中注意的事項,寫的有點亂,想到什么就寫什么。
轉載于:https://www.cnblogs.com/u0mo5/p/4938929.html
總結
- 上一篇: !!从中位数市盈率看目前市场位置
- 下一篇: C# 100以内质数和