【轉載】php如何給APP端寫介面

來源:互聯網
上載者:User

標籤:get   如何   ring   catch   style   資料格式   監控   elf   div   

如何寫好介面
  1. 目的:清楚明白所寫介面的用途
  2. 安全性:做好介面的安全性,防止介面資料泄露,做好必要的參數加密措施
  3. 按需分配: 接受值和傳回值要實用,不接受和返回不需要的資料,傳回值返回什麼應與使用者時時溝通
  4. 規範性:參數命名規範有意義,讓使用者一目瞭然;傳回值要包含調用介面狀態資訊,返回資料格式最好使用JSON
  5. 日誌:寫介面調用日誌,方便查到介面調用錯誤,實現監控和對接快捷
介面安全性與規範性參考
/**     * 使用者登入介面     * 請求方式:post     * 接受參數:     * @param $mobile 使用者名稱         -- 可逆 通過 urlencode(base64_encode()) 加密     * @param $pwd    加密密碼     -- 可逆,同時定義一個加密規則     * return json     * {"code":int,"message":string,"data":array}     * 注意事項:     *     */    public function login() {        $mobile = isset($_POST[‘mobile‘]) ? base64_decode(urldecode(escapeQuotes($_POST[‘mobile‘]))) : ‘‘;        $pwd = isset($_POST[‘pwd‘]) ? escapeQuotes($_POST[‘pwd‘]) : ‘‘;        $totp = isset($_POST[‘ttoken‘]) ? escapeQuotes($_POST[‘ttoken‘]) : ‘‘;        $commonmodel = self::getModel(‘common‘);        try {            // 檢查參數            $commonmodel->checkRight($mobile, ‘mobile‘);            $commonmodel->checkRight($pwd, ‘pwd‘);            $commonmodel->checkRight($totp, ‘ttoken‘);            // 驗證登入            $usersmodel = self::getModel(‘users‘);            $res = $usersmodel->userLogin($mobile, $pwd);        } catch (Exception $e) {            $res = array(                ‘code‘ => 10000,                ‘message‘ => $e->getMessage()            );        }        // 寫入介面日誌        $des = "IP:" . getIp() . ";請求使用者登入介面;返回:" . $res[‘message‘];        $commonmodel->logResult(‘10001‘, $res[‘code‘], $des);        echo json_encode($res);    }

接受的參數,比如使用者名稱和密碼都進行了加密處理,密碼可以定義一個更安全的加密規則,抓包查看請求參數也不會暴露使用者資料。 

調用介面寫好介面日誌,記錄調用什麼介面,返回狀態代碼,介面返回詳情等等。。。

傳回值參考
{    code:0,    message: "success",    data: { key1: value1, key2: value2, ... }}
  • code: 返回狀態代碼,1表示成功,非1表示各種不同的錯誤,10000可以用來表示用戶端傳參錯誤
  • message: 描述資訊,成功時為”success”,錯誤時則是錯誤資訊
  • data: 成功時返回的資料,類型為對象或數組

不同錯誤就要定義不同的返回狀態代碼,這裡舉個例子:

狀態代碼表

傳回值 說明 
10000 執行異常,一般為用戶端傳參出錯 
10001 使用者不存在 
10002 密碼錯誤 
10003 使用者狀態未啟用 
10004 redis儲存值錯誤 
10005 令牌(token)錯誤 
10006 二維碼序列錯誤 
10007 驗票錯誤 
1 驗證成功,返回需要資訊

10000可以定義為用戶端傳入的參數有錯,直接拋出異常,區別用戶端與服務端之間的錯誤

 

 

本文轉載至:http://blog.csdn.net/xwh670570759/article/details/52130585

【轉載】php如何給APP端寫介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.