gfh151 / yii2-swagger
yii2 swagger 文件生成器
0.0.4
2024-07-08 10:14 UTC
Requires
- php: >=8.1.0
- doctrine/annotations: ^2.0
- yiisoft/yii2: ^2.0.45
- zircote/swagger-php: ^4.9
This package is auto-updated.
Last update: 2024-09-22 08:36:33 UTC
README
Yii2 swagger 生成器
安装
通过 composer 安装此扩展是首选方式。
运行以下命令之一:
php composer.phar require --prefer-dist fgh151/yii2-swagger "*"
或者添加以下内容到您的 composer.json
文件的 require 部分:
"fgh151/yii2-swagger": "*"
用法
- 在配置中添加模块并设置带有注释的目录
'modules' => [ 'swagger' => [ 'class' => fgh151\swagger\Module::class, 'sources' => [ dirname(__DIR__).'/controllers', dirname(__DIR__).'/models', ] ], ],
- 添加路由
'rules' => [ '/swagger/doc.json' => 'swagger/swagger/doc', '/swagger/ui' => 'swagger/swagger/ui', ],
- 添加控制器。它可能不是很有用,并且可能有随机名称,但包含注释。例如
<?php namespace app\controllers; use OpenApi\Attributes\Info; use OpenApi\Attributes\OpenApi; use OpenApi\Attributes\Server; use yii\web\Controller; #[OpenApi( info: new Info(version: '1.0.0', title: 'Super API title'), )] #[Server(url: 'https://api.example.com', description: 'Super API description')] class SwaggerController extends Controller { }
- 为控制器和模型添加注释。例如
class SomeController extends \yii\web\Controller { #[Get(path: '/magic', summary: 'Magic API method.')] public function someAction() { //Magic here } }
#[Schema(title: 'MyModel', description: 'Magic mode', properties: [ new Property(property: 'Id', description: 'Идентификатор', type: 'integer'), ])] class MyModel extends ActiveRecord { }
查看注释