客戶端呼叫介面api,服務端處理邏輯返回 結果json,客戶端接收結果作互動處理。
** 做過 api 的人應該了解,其實開發 api 比開發 web 更簡潔,但可能邏輯更複雜,因為 api 其實就是資料輸出,不用呈現頁面,所以也就不存在
mvc(api 只有 m 和 c),
1、和 web 開發一樣,首先需要一些相關的引數,這些引數,都會由客戶端傳過來,也許是 get 也許是 post,這個需要開發團隊相互之間約定好,
或者制定統一規範。
資料怎麼返給客戶端?
直接輸出的形式,如:json、xml、text 等等。
4、客戶端獲取到你返回的資料後,在客戶端本地和使用者進行互動。
1、單檔案實現多介面的形式有很多種,例如:if..elseif.. 或 switch 或 動態方法 (也就是tp的這種訪問函式體的形式)
2、對於資料的輸出最好用json,json具有相當強大的跨平台性,市場上各大主流程式語言都支援json解析,json正在逐步取代xml,成為網路資料的
通用格式
3、介面安全,一定要增加介面驗證。例如,客戶端和服務端針對不同介面統一做好加密方式,服務端在對於每次介面需要都要進行驗證。以保證防
止介面被惡意重新整理或黑客惡意呼叫,尤其是大型商業應用。
4、對於線上的 api 必須保證所有介面正常且關閉所有的錯誤資訊 => error_reporting(0),在輸出json 時,不能有任何其它輸出,否則,客戶端
將會獲取錯誤的資料資訊,98%直接導致客戶端 crash!
5、開發 api 和 web 有一定的區別,如果是 web 的話,可能**出錯了,不會導致特別嚴重的錯誤,也許只是導致資料寫入和查詢失敗,也許導致
web 的某個部分錯位或亂碼。但如果是 api,99%的情況都是客戶端直接crash、閃退!
6、做介面開發,不建議使用框架開發,原因概括起來有兩點(其實我有點冒風險的,本人也是 tper 一枚,畢竟這是tp的官網):
客戶端一般對服務端的響應速度有極高要求,因此,使用最原生態的 php完成介面開發,是最高效的,假如用到了框架,還需要載入各種不需要多餘
的檔案,就好比夏天穿了件冬天的衣服。試想,你在玩手機的時候,使用乙個應用隨便乙個操作,等半天才有動靜,你受的了嗎?
就是上面第4點提到的,框架對於web開發,是件很幸福的事,但對於 api 而言,你實在不敢想象它會給你出什麼岔子!最後你將痛苦不堪~~因為很
多框架都是為 web 誕生的(我也很期待有一天能看到專門為開發 api 而生的框架或者擴充套件)
說到這,不得不說扯一下,風靡網際網路的開放平台。其實那些開放平台,所謂的開放,就是給你提供乙個這樣的介面,你根據他們提供的技術文件,
店鋪、商品訊息等等。然後在根據這些訊息,在你的應用裡完成互動。
posted @
2016-03-08 16:37
newman·li 閱讀(
...)
編輯收藏
用php模擬做服務端偵聽埠
參考 socket accept 是服務端接受客戶端請求,一旦有乙個客戶端鏈結上來的話,則這個函式會返回乙個新的socket資源,這個資源是與客戶端通訊的資源。socket accept 是阻塞的,會一直卡在那裡。正常的伺服器,應該是新開乙個子程序來處理請求。socket connect 是鏈結乙個...
用AndServer做安卓手機伺服器
andserver是android平台的web server和web framework。它基於編譯時註解提供了類似springmvc的註解和功能,如果您熟悉springmvc,則可以非常快速地掌握它。andserver是國人yanzhenjie開發部署在手機上的伺服器框架 相關部落格 個人感覺用手...
iOS 客戶端與服務端做時間同步
我們做客戶端的時候,有時會需要對客戶端與伺服器的時間進行同步,比如搶購活動 倒計時等。這時我們要考慮如何準備地與伺服器的時間進行同步,同時防止使用者本地的時間有誤差時導致的問題。描述為了實現以上需求,我們需要 獲取伺服器某一時刻a的時間 記錄獲取到時刻a時的本地時間b 需要用到時間時,獲取當前本地時...