1. 程式人生 > >Yii2 的快速配置 api 服務 yii2-fast-api

Yii2 的快速配置 api 服務 yii2-fast-api

進行 json arr tps str 快速開發 log 因此 技術

yii2-fast-api

yii2-fast-api是一個Yii2框架的擴展,用於配置完善Yii2,以實現api的快速開發。

此擴展默認的場景是APP的後端接口開發,因此偏向於實用主義,並未完全采用restfull的標準,方便前端開發處理接口數據以及各種異常。

Installation

使用 Composer 安裝

  • 在項目中的 composer.json 文件中添加依賴:
"require": {
    "deepziyu/yii-fast-api": "*"
}
  • 執行 $ php composer.phar update$ composer update 進行安裝。

  • 在配置文件中( Yii2 高級版為 main.php,Yii2 基礎版為 web.php )註入 fast-api 的配置:

// $config 為你原本的配置
$config = yiihelpersArrayHelper::merge(
    $config,
    deepziyuyiirestController::getConfig()
);

return $config;

Usage

  • 建立控制器 class YourController extends deepziyuyiirestController { /** * 示例接口 * @param int $id 請求參數 * @return string version api版本 * @return int yourId 你的請求參數 */ public function actionIndex($id) { return [‘version‘=>‘1.0.0‘,‘yourId‘=>$id]; } }
  • 發送請求看看

正常請求

POST /your/index HTTP/1.1
Host: yoursite.com
Content-Type: application/json

{"id":"10"}

返回

{
    "code": 200,
    "data": {
        "version": "1.0.0",
        "yourId": "10"
    },
    "message": "OK"
}

缺少參數的請求

POST /your/index HTTP/1.1
Host: yoursite.com
Content-Type: application/json

返回錯誤

{
    "code": 400,
    "data": {},
    "message": "缺少參數:id"
}
  • 查看自動生成的Api文檔

http ://yoursite.com/route/api/index

技術分享圖片

Words In The End

感謝@暗夜在火星 的PhalApi項目,為此Yii2擴展提供設計的思路。

TODO

  • 更完善的文檔指南
  • Signature 過濾器插件
  • 限流插件的使用
  • RequestID 以及日誌存儲追蹤的參考

本文轉自碼雲推薦 | 基於 yii2 的快速配置 api 服務 yii2-fast-api,僅供學習交流使用!

Yii2 的快速配置 api 服務 yii2-fast-api