Swagger PHP Thinkphp 接口文档

安装

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
  1. 访问 https://ip:port/swagger可以正常看到界面,将Explore框中的地址换为https://petstore.swagger.io/v2/swagger.json可查看demo
  2. 截止这里就安装完成了

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注解模板及常用语法

请参考

相关推荐

  1. Swagger PHP Thinkphp 接口文档

    2023-12-08 13:34:04       47 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 13:34:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 13:34:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 13:34:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 13:34:04       18 阅读

热门阅读

  1. 一、C#笔记

    2023-12-08 13:34:04       33 阅读
  2. QT学习随记 (二)—— QT基础

    2023-12-08 13:34:04       37 阅读
  3. 一起学习云计算

    2023-12-08 13:34:04       35 阅读
  4. 我的创作纪念日

    2023-12-08 13:34:04       49 阅读
  5. Ubuntu环境下使用nginx实现强制下载静态资源

    2023-12-08 13:34:04       36 阅读
  6. Ubuntu开机出现Welcome to emergency mode解决办法

    2023-12-08 13:34:04       57 阅读
  7. Appium:iOS部署

    2023-12-08 13:34:04       34 阅读
  8. 源代码编译cuda opencv

    2023-12-08 13:34:04       37 阅读
  9. opencv学习一:namedWindow()创建和显示窗口

    2023-12-08 13:34:04       36 阅读
  10. vscode console.log快捷键

    2023-12-08 13:34:04       37 阅读
  11. Spring Boot 框架能够解决什么问题?

    2023-12-08 13:34:04       31 阅读