light / yii2-swagger
swagger与yii2的集成
3.0.4
2024-04-28 03:20 UTC
Requires
- bower-asset/swagger-ui: ^5.0
- yiisoft/yii2: ^2.0.0
- zircote/swagger-php: ^4.0
README
Yii2 Swagger 扩展
将swagger-php集成到yii2。
安装
推荐通过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-cache
或 YOUR_API_URL?api_key=YOUR_API_KEY&clear-cache
示例:curl 'https://127.0.0.1/v1/swagger/api?clear-cache'
您将看到:成功清除swagger api缓存。
最后
如果还有疑问,您可以参考示例。