wodrow/yii-fast-api

一个用于在yii2框架上快速开发api的组件

0.1.10 2021-08-21 07:07 UTC

This package is not auto-updated.

Last update: 2024-09-29 17:43:39 UTC


README

yii2-fast-api是Yii2框架的一个扩展,用于配置Yii2以实现api的快速开发。此扩展适用于APP后端接口开发,因此更注重实用性,未完全采用restful标准,便于前端处理接口数据和异常。

安装

使用Composer安装

  • 在项目中的composer.json文件中添加依赖:
"require": {
    "wodrow/yii-fast-api": "^0.1.0"
}
  • 执行$ php composer.phar update$ composer update进行安装。

  • 执行$ composer require wodrow/yii-fast-api进行安装。

  • 在配置文件中(Yii2高级版为main.php,Yii2基础版为web.php)注入fast-api的配置:

// $config 为你原本的配置
$config = yii\helpers\ArrayHelper::merge(
    $config,
    \wodrow\yii\rest\Controller::getConfig()
);

return $config;

使用方法

  • 建立控制器
class YourController extends wodrow\yii\rest\Controller
{
    /**
     * 示例接口
     * @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

结语

感谢@暗夜在火星的PhalApi项目,为此Yii2扩展提供了设计思路。

待办事项

  • 更完善的文档指南
  • Signature过滤器插件
  • 限流插件的使用
  • RequestID以及日志存储追踪的参考