亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

基于Laravel的API服務端架構(gòu)代碼

BDEEFE / 2782人閱讀

摘要:服務端架構(gòu)代碼源碼部署說明現(xiàn)有基于框架開發(fā),本次介紹也針對。如接口名,對應的類文件及類名為接口命名規(guī)范命名字母按功能或模塊從大到小劃分,依次編寫如后臺用戶修改密碼字母最后單詞為操作。

API服務端架構(gòu)代碼 源碼

http://flc.ren/2016/08/549.html
https://github.com/flc1125/Ap...

部署說明
現(xiàn)有API基于laravel框架開發(fā),本次介紹也針對laravel。可根據(jù)文檔自行調(diào)整,以適用其他框架下使用
數(shù)據(jù)庫相關(guān)

執(zhí)行如下SQL語句

CREATE TABLE `prefix_apps` (
  `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT "自增長",
  `app_id` VARCHAR(60) NOT NULL COMMENT "appid",
  `app_secret` VARCHAR(100) NOT NULL COMMENT "密鑰",
  `app_name` VARCHAR(200) NOT NULL COMMENT "app名稱",
  `app_desc` TEXT COMMENT "描述",
  `status` TINYINT(2) DEFAULT "0" COMMENT "生效狀態(tài)",
  `created_at` INT(10) NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
  `updated_at` INT(10) NOT NULL DEFAULT "0" COMMENT "更新時間",
  PRIMARY KEY (`id`),
  UNIQUE KEY `app_id` (`app_id`),
  KEY `status` (`status`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT="應用表";
目錄相關(guān)
標題 路徑
API核心目錄 app/Services/ApiServer/
API接口目錄 app/Services/ApiServer/Response/
apps數(shù)據(jù)庫模型 app/Models/App.php
路由配置 app/Http/routes.php
API入口控制器 app/Http/Controllers/Api/RouterController.php
API文檔及開發(fā)規(guī)范 API調(diào)用協(xié)議 請求地址及請求方式
請求地址:/api/router;

請求方式:POST/GET

公共參數(shù)
參數(shù)名 類型 是否必須 描述
app_id string 應用ID
method string 接口名稱
format string 回調(diào)格式,默認:json(目前僅支持)
sign_method string 簽名類型,默認:md5(目前僅支持)
nonce string 隨機字符串,長度1-32位任意字符
sign string 簽名字符串,參考簽名規(guī)則
業(yè)務參數(shù)
API調(diào)用除了必須包含公共參數(shù)外,如果API本身有業(yè)務級的參數(shù)也必須傳入,每個API的業(yè)務級參數(shù)請考API文檔說明。
簽名規(guī)則

對所有API請求參數(shù)(包括公共參數(shù)和請求參數(shù),但除去sign參數(shù)),根據(jù)參數(shù)名稱的ASCII碼表的順序排序。如:foo=1, bar=2, foo_bar=3, foobar=4排序后的順序是bar=2, foo=1, foo_bar=3, foobar=4。

將排序好的參數(shù)名和參數(shù)值拼裝在一起,根據(jù)上面的示例得到的結(jié)果為:bar2foo1foo_bar3foobar4。

把拼裝好的字符串采用utf-8編碼,使用簽名算法對編碼后的字節(jié)流進行摘要。如果使用MD5算法,則需要在拼裝的字符串前后加上app的secret后,再進行摘要,如:md5(secret+bar2foo1foo_bar3foobar4+secret)

將摘要得到的字節(jié)結(jié)果使用大寫表示

返回結(jié)果
// 成功
{
    "status": true,
    "code": "200",
    "msg": "成功",
    "data": {
        "time": "2016-08-02 12:07:09"
    }
}

// 失敗
{
    "status": false,
    "code": "1001",
    "msg": "[app_id]缺失"
}
API開發(fā)規(guī)范 API接口命名規(guī)范(method)

接口名稱統(tǒng)一小寫字母

多單詞用.隔開

對應的類文件(目錄:app/Services/ApiServer/Response/);以接口名去.,再首字母大寫作為類名及文件名。如接口名:user.add,對應的類文件及類名為:UserAdd

接口命名規(guī)范

命名字母按功能或模塊從大到小劃分,依次編寫;如后臺用戶修改密碼:"admin.user.password.update"

字母最后單詞為操作。查詢:get;新增:add;更新:update;刪除:delete;上傳:upload;等

錯誤碼
錯誤碼配置:app/Services/ApiServer/Error.php

命名規(guī)范:

類型 長度 說明
系統(tǒng)碼 3 http狀態(tài)碼
公共錯誤碼 4 公共參數(shù)錯誤相關(guān)的錯誤碼
業(yè)務錯誤碼 6+ 2位業(yè)務碼+4位錯誤碼,不足補位

現(xiàn)有錯誤碼:

錯誤碼 錯誤內(nèi)容
200 成功
400 未知錯誤
401 無此權(quán)限
500 服務器異常
1001 [app_id]缺失
1002 [app_id]不存在或無權(quán)限
1003 [method]缺失
1004 [format]錯誤
1005 [sign_method]錯誤
1006 [sign]缺失
1007 [sign]簽名錯誤
1008 [method]方法不存在
1009 run方法不存在,請聯(lián)系管理員
1010 [nonce]缺失
1011 [nonce]必須為字符串
1012 [nonce]長度必須為1-32位
API DEMO 示例

文件路徑:app/Services/ApiServer/Response/Demo.php

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/21833.html

相關(guān)文章

  • PHP / Laravel API 開發(fā)推薦閱讀清單

    showImg(https://segmentfault.com/img/bV6aHV?w=1280&h=800); 社區(qū)優(yōu)秀文章 Laravel 5.5+passport 放棄 dingo 開發(fā) API 實戰(zhàn),讓 API 開發(fā)更省心 - 自造車輪。 API 文檔神器 Swagger 介紹及在 PHP 項目中使用 - API 文檔撰寫方案 推薦 Laravel API 項目必須使用的 8 個...

    shmily 評論0 收藏0
  • PHP相關(guān)

    摘要:的機器學習庫的機器學習庫,包括算法交叉驗證神經(jīng)網(wǎng)絡等內(nèi)容。在即將到來的大會上,她將和大家分享在機器學習領(lǐng)域的全新可能。入門總結(jié)入門相關(guān),如安裝配置基本使用等。 基于 Swoole 開發(fā) PHP 擴展 Swoole-1.9.7 增加了一個新特性,可以基于 Swoole 使用 C++ 語言開發(fā)擴展模塊,在擴展模塊中可以注冊 PHP 內(nèi)置函數(shù)和類。現(xiàn)在可以基于 Swoole 來編寫 PHP ...

    lewinlee 評論0 收藏0
  • Laravel-Vue-SSR-SPA 服務渲染/單頁面渲染實現(xiàn)骨架

    摘要:提供服務端渲染單頁面渲染實現(xiàn)骨架同時集成打包構(gòu)建文件名實現(xiàn)內(nèi)置等套件提供端渲染方案前后端分離單頁面方案前后端分離單頁面方案等三種常見方案項目地址歡迎項目需求基于和提供的強大的功能組合并根據(jù)已有項目實踐經(jīng)驗提供完整的集成方案幫助快速 Laravel-Vue-SSR-SPA 提供服務端渲染/單頁面渲染實現(xiàn)骨架, 同時集成webpack打包構(gòu)建 MD5文件名/gzip 實現(xiàn), 內(nèi)置 vue-...

    zr_hebo 評論0 收藏0
  • Laravel-Vue-SSR-SPA 服務渲染/單頁面渲染實現(xiàn)骨架

    摘要:提供服務端渲染單頁面渲染實現(xiàn)骨架同時集成打包構(gòu)建文件名實現(xiàn)內(nèi)置等套件提供端渲染方案前后端分離單頁面方案前后端分離單頁面方案等三種常見方案項目地址歡迎項目需求基于和提供的強大的功能組合并根據(jù)已有項目實踐經(jīng)驗提供完整的集成方案幫助快速 Laravel-Vue-SSR-SPA 提供服務端渲染/單頁面渲染實現(xiàn)骨架, 同時集成webpack打包構(gòu)建 MD5文件名/gzip 實現(xiàn), 內(nèi)置 vue-...

    U2FsdGVkX1x 評論0 收藏0
  • Laravel 程序架構(gòu)設計思路:使用動作類

    摘要:一個動作類,應該有一個能夠說明其功能的名字,比如等。如果需要對我們的動作類實現(xiàn)某種適配器模式,這是非常方便的。使用單動作類的好處小巧而單一的邏輯域能夠防止代碼重復并提高代碼的可重用性,保持穩(wěn)定。易于針對各種場景進行獨立測試。 showImg(https://segmentfault.com/img/remote/1460000015208092); 當我們談論到應用程序的架構(gòu)的時候,經(jīng)...

    Caicloud 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<