安裝
1. 安裝依賴
composer require zircote/swagger-php
2. 下載Swagger UI
git clone https://github.com/swagger-api/swagger-ui.git
3. 復制下載好的Swagger UI 中的dist目錄到public目錄中,修改目錄名稱
cp -rf swagger-ui/dist /home/htdocs/public/
mv /home/htdocs/public/dist /home/htdocs/public/swagger
4. 修改swagger.json地址
vi /home/htdocs/public/swagger/swagger-initializer.js
# 將 https://petstore.swagger.io/v2/swagger.json 更換為本地地址
# https://ip:port/swagger.json
- 訪問
https://ip:port/swagger
可以正常看到界面,將Explore框中的地址換為https://petstore.swagger.io/v2/swagger.json
可查看demo - 截止這里就安裝完成了
phpstorm上使用swagger
Files -> settings -> Plugins
安裝 PHP Annotations
安裝 SwaggerHub
使用
這里兩種使用模式都是可以,推薦第二種
1. 命令行使用
php ./vendor/zircote/swagger-php/bin/openapi ./app/controller/Test.php -o ./public/swagger.json
參數1 swagger執行命令地址
參數2 需要生成文檔的接口地址
參數3 -o 表示將結果生成在 參數4這里
2. thinkphp命令行形式調用
1). 生成命令類 php think make:command Swagger
2). 修改execute方法
use OpenApi\Generator;
#路徑為需要掃描生成文檔的路徑
$openapi = Generator::scan(['/home/htdocs/app/controller/']);
#生成地址以及生成格式
$openapi->saveAs('/home/htdocs/public/swagger.json', 'json');
#命令結束后輸入語
$output->writeln('init success, please view http://ip:port/swagger/index.html');
3). 注冊命令
vi /home/htdocs/config/console.php
添加剛生成的命令類
'commands' => ['swagger' => \app\command\Swagger::class
],
4). 執行命令
php think swagger
3. 其他框架或者php原生,直接使用下面代碼即可
use OpenApi\Generator;
#路徑為需要掃描生成文檔的路徑
$openapi = Generator::scan(['/home/htdocs/app/controller/']);
#生成地址以及生成格式
$openapi->saveAs('/home/htdocs/public/swagger.json', 'json');
swagger注解模板及常用語法
請參考