zoukankan      html  css  js  c++  java
  • Yii2 的快速配置 api 服务 yii2-fast-api

    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,仅供学习交流使用!

  • 相关阅读:
    WC命令
    dcoker machine
    linux命令
    Valgrind 检测程序内存使用
    golang flag
    面试之---二叉树的遍历
    FFMpeg 版本错误
    C++中namespace的使用
    QT之QStatusBar
    建立ftp服务器和客户端
  • 原文地址:https://www.cnblogs.com/itsharehome/p/8120435.html
Copyright © 2011-2022 走看看