myzero1 / yii2-fast-api
一个用于在yii2框架上快速开发api的组件
1.0.0
2017-11-20 08:57 UTC
Requires
- yiisoft/yii2: ~2.0.9
This package is not auto-updated.
Last update: 2024-09-15 04:32:05 UTC
README
yii2-fast-api是Yii2框架的一个扩展,用于配置完善的Yii2,以实现api的快速开发。此扩展默认适用于APP的后端接口开发,因此更注重实用性,并未完全采用restful标准,便于前端开发处理接口数据和各种异常。
安装
使用Composer安装
- 在项目中的
composer.json
文件中添加依赖:
"require": { "deepziyu/yii-fast-api": "*" }
-
执行
$ php composer.phar update
或$ composer update
进行安装。 -
在配置文件中(Yii2高级版为main.php,Yii2基础版为web.php)注入fast-api的配置:
// $config 为你原本的配置 $config = yii\helpers\ArrayHelper::merge( $config, \deepziyu\yii\rest\Controller::getConfig() ); return $config;
使用方法
- 建立控制器
class YourController extends deepziyu\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以及日志存储追踪的参考