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目录中,修改目录名称

shell 复制代码
cp -rf swagger-ui/dist /home/htdocs/public/
mv /home/htdocs/public/dist /home/htdocs/public/swagger

4. 修改swagger.json地址

shell 复制代码
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方法
php 复制代码
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添加刚生成的命令类

php 复制代码
'commands' => [
   'swagger' => \app\command\Swagger::class
],
4). 执行命令

php think swagger

3. 其他框架或者php原生,直接使用下面代码即可

php 复制代码
use OpenApi\Generator;
#路径为需要扫描生成文档的路径
$openapi = Generator::scan(['/home/htdocs/app/controller/']);
#生成地址以及生成格式
$openapi->saveAs('/home/htdocs/public/swagger.json', 'json');

swagger注解模板及常用语法

请参考

相关推荐
小羊没烦恼!26 分钟前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
Keven_1142 分钟前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
脉动数据行情11 小时前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#
大圣编蚕2 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
菜鸟~noob2332 小时前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
OpenAnolis小助手3 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
小玮看世界3 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
ForteScarlet3 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖3 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
右耳朵猫AI3 小时前
PHP周刊2026W36 | Laravel AI SDK 0.11可观测、Symfony 8.1.5、Octane并发、事件溯源
人工智能·php·laravel