gfh151 / yii2-swagger

yii2 swagger 文件生成器

安装次数: 21

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

0.0.4 2024-07-08 10:14 UTC

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": "*"

用法

  1. 在配置中添加模块并设置带有注释的目录
'modules' => [
    'swagger' => [
        'class' => fgh151\swagger\Module::class,
        'sources' => [
            dirname(__DIR__).'/controllers',
            dirname(__DIR__).'/models',
        ]
    ],
],
  1. 添加路由
'rules' => [
    '/swagger/doc.json' => 'swagger/swagger/doc',
    '/swagger/ui' => 'swagger/swagger/ui',
],
  1. 添加控制器。它可能不是很有用,并且可能有随机名称,但包含注释。例如
<?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
{
}
  1. 为控制器和模型添加注释。例如
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
{
}

查看注释