ApiCloud:[3]訪問自己的伺服器數據

如果mcm和REST API不能滿足你的數據存取要求,那你可以使用自己的伺服器和資料庫,缺點是麻煩、多花時間和精力,優點是靈活、自由,不用多花時間學習。這裡使用自己的資料庫,以ms sql為例,並以asp.net mvc網站提供api服務,僅作參考。

方法/步驟

1 一個總體流程,apicloud通過ajax去向自己的資料庫(網站)發出請求,網站進行身份驗證,然後響應請求,返回數據,在apicloud使用js對響應的數據進行處理。

2 使用ajax發起一個數據請求,這邊使用的是jquery的ajax方法,所以你需要引用jquery插件,主要的地方是url,method,headers,data,success,接下來會一一解釋

3 關於url,可以配置你自己的url,但是為了調試方便,你可以自己寫個開關,等上線的時候再切換

4 關於method,最好全部設置成post,因為如果是get的話,那$.ajax在一些瀏覽器如火狐內核的情況下,設置headers信息會丟失

5 關於headers,就是為了驗證身份額外設立的,基本原理是app和你的網站約定好一個秘密字符,然後通過sha1加密後附加在請求頭部從app傳遞,到達網站時,提取相應信息進行驗證,如果正確則正常響應數據,否則給出出錯提示;算法getAppKeyInSha1(),需要引用jquery.sha1.js,這是個加密的插件

6 ajax請求附加頭部headers時,需要在網站中加以設定,不然這個自定義頭部是非法的

7 然後創建一個filter,用來進行每次響應前的驗證

8  創建一個Area,名稱為Api

9 然後創建controller,響應請求,返回數據

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場