light / yii2-swagger
swagger intergation with yii2
Installs: 584 041
Dependents: 5
Suggesters: 0
Security: 0
Stars: 151
Watchers: 10
Forks: 47
Open Issues: 5
Requires
- bower-asset/swagger-ui: ^5.0
- yiisoft/yii2: ^2.0.0
- zircote/swagger-php: ^4.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.