亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 263
粉絲 3
評論 2
訪問量 133622
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
如何寫好接口(php寫app移動端接口示例)
福哥的博客
原創(chuàng)
2252人瀏覽過

如何寫好接口

目的:清楚明白所寫接口的用途

安全性:做好接口的安全性,防止接口數(shù)據(jù)泄露,做好必要的參數(shù)加密措施

按需分配: 接受值和返回值要實用,不接受和返回不需要的數(shù)據(jù),返回值返回什么應與使用者時時溝通

規(guī)范性:參數(shù)命名規(guī)范有意義,讓使用者一目了然;返回值要包含調(diào)用接口狀態(tài)信息,返回數(shù)據(jù)格式最好使用JSON

日志:寫接口調(diào)用日志,方便查到接口調(diào)用錯誤,實現(xiàn)監(jiān)控和對接快捷

接口安全性與規(guī)范性參考

/**
     * 用戶登錄接口
     * 請求方式:post
     * 接受參數(shù):
     * @param $mobile 用戶名         -- 可逆 通過 urlencode(base64_encode()) 加密
     * @param $pwd    加密密碼     -- 可逆,同時定義一個加密規(guī)則
     * 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 {            // 檢查參數(shù)
            $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);
    }

接受的參數(shù),比如用戶名和密碼都進行了加密處理,密碼可以定義一個更安全的加密規(guī)則,抓包查看請求參數(shù)也不會暴露用戶數(shù)據(jù)。 
調(diào)用接口寫好接口日志,記錄調(diào)用什么接口,返回狀態(tài)碼,接口返回詳情等等。。。

返回值參考

{
    code:0,
    message: "success",
    data: { key1: value1, key2: value2, ... }
}

code: 返回狀態(tài)碼,1表示成功,非1表示各種不同的錯誤,10000可以用來表示客戶端傳參錯誤

message: 描述信息,成功時為”success”,錯誤時則是錯誤信息

data: 成功時返回的數(shù)據(jù),類型為對象或數(shù)組

不同錯誤就要定義不同的返回狀態(tài)碼,這里舉個例子:

狀態(tài)碼表

返回值 說明 
10000 執(zhí)行異常,一般為客戶端傳參出錯 
10001 用戶不存在 
10002 密碼錯誤 
10003 用戶狀態(tài)未激活 
10004 redis保存值錯誤 
10005 令牌(token)錯誤 
10006 二維碼序列錯誤 
10007 驗票錯誤 
1 驗證成功,返回需要信息

10000可以定義為客戶端傳入的參數(shù)有錯,直接拋出異常,區(qū)別客戶端與服務端之間的錯誤

1.jpg

2.jpg

3.jpg

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

本博文版權歸博主所有,轉(zhuǎn)載請注明地址!如有侵權、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務協(xié)議
0條評論
作者最新博文
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學習!
    全站2000+教程免費學