light / yii2-swagger
swagger intergation with yii2
Installs: 733 019
Dependents: 5
Suggesters: 0
Security: 0
Stars: 152
Watchers: 10
Forks: 48
Open Issues: 0
pkg:composer/light/yii2-swagger
Requires
- bower-asset/swagger-ui: ^5.0
- yiisoft/yii2: ^2.0.0
- zircote/swagger-php: ^5.0
README
Yii2 Swagger Extension
swagger-php integration with yii2.
Integration swagger-ui with swagger-php.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist light/yii2-swagger "~3.0" --dev
or add
"light/yii2-swagger": "~3.0"
to the require section of your composer.json file.
Usage
Configure two action as below:
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',
        ],
    ];
}
For security, you can config api key for protection.
Caching
public function actions()
{
    return [
        // ...
        'api' => [
            // ...
            'cache' => 'cache',
            'cacheKey' => 'api-swagger-cache', // default is 'api-swagger-cache'
        ],
    ];
}
Clear cache
Access clear cache url YOUR_API_URL?clear-cache or YOUR_API_URL?api_key=YOUR_API_KEY&clear-cache
Example: curl 'http://localhost/v1/swagger/api?clear-cache'
you will see: Succeed clear swagger api cache.
Finally
If there also some confused, you can refer the Demo.