light/yii2-swagger

swagger与yii2的集成

3.0.4 2024-04-28 03:20 UTC

README

Yii2 Swagger 扩展


version Download Issues

swagger-php集成到yii2。

swagger-uiswagger-php集成。

安装

推荐通过composer安装此扩展。

运行以下命令之一

php composer.phar require --prefer-dist light/yii2-swagger "~3.0" --dev

或者在您的composer.json文件的require部分添加以下内容:

"light/yii2-swagger": "~3.0"

```

使用方法

配置以下两个操作:

public function actions()
{
    return [
        //The document preview addesss:http://api.yourhost.com/site/doc
        'doc' => [
            'class' => 'light\swagger\SwaggerAction',
            'restUrl' => \yii\helpers\Url::to(['/site/api'], true),
        ],
        //The resultUrl action.
        'api' => [
            'class' => 'light\swagger\SwaggerApiAction',
            //The scan directories, you should use real path there.
            'scanDir' => [
                Yii::getAlias('@api/modules/v1/swagger'),
                Yii::getAlias('@api/modules/v1/controllers'),
                Yii::getAlias('@api/modules/v1/models'),
                Yii::getAlias('@api/models'),
            ],
            //The security key
            'api_key' => 'balbalbal',
        ],
    ];
}

为了安全起见,您可以配置API密钥进行保护。

缓存

public function actions()
{
    return [
        // ...
        'api' => [
            // ...
            'cache' => 'cache',
            'cacheKey' => 'api-swagger-cache', // default is 'api-swagger-cache'
        ],
    ];
}

清除缓存

访问清除缓存URL YOUR_API_URL?clear-cacheYOUR_API_URL?api_key=YOUR_API_KEY&clear-cache

示例:curl 'https://127.0.0.1/v1/swagger/api?clear-cache'

您将看到:成功清除swagger api缓存。

最后

如果还有疑问,您可以参考示例

许可协议

MIT