在现有PHP项目中配置swagger-php后如何查看生成的接口文档?
swagger-php本地查看接口文档配置步骤
- 第一步:验证OpenAPI规范JSON生成是否正常
你在本地环境中访问api.php对应的站点URL,比如本地站点根域名是http://localhost时,访问路径为http://localhost/modules/apiv1/documentation/api.php。如果页面正常返回JSON格式内容,说明注解扫描、生成OpenAPI规范的步骤无问题;如果报错优先排查两个配置项:require引入的autoload.php文件路径是否匹配实际存放路径,建议使用绝对路径避免识别误差- 控制器扫描路径是否正确,确认
$_SERVER['DOCUMENT_ROOT']拼接后的路径和你LocationController所在的目录完全匹配
- 第二步:配置Swagger UI可视化展示文档
swagger-php仅负责生成符合OpenAPI规范的结构化JSON数据,要可视化查看可交互的接口文档,需要搭配Swagger UI使用,操作流程如下:- 下载Swagger UI的官方发行包,解压后放置到本地站点的可访问目录下,例如
/public/swagger-ui - 打开Swagger UI目录中的
swagger-initializer.js文件,找到默认配置的url: "https://petstore.swagger.io/v2/swagger.json"字段,将引号内的地址替换为你上一步验证通过的api.php访问地址 - 保存修改后,浏览器访问Swagger UI的入口文件
index.html,例如路径为http://localhost/swagger-ui/index.html,即可看到生成的完整接口文档
- 下载Swagger UI的官方发行包,解压后放置到本地站点的可访问目录下,例如
- 可选优化配置
- 你可以直接使用全局安装的swagger-php命令生成静态JSON文件,执行命令:
openapi /application/modules/apiv1/controllers -o /application/modules/apiv1/documentation/openapi.json,再将Swagger UI的url指向这个静态JSON文件即可,无需每次访问动态生成,性能更高 - 补充基础注解:在任意一个被扫描的PHP文件顶部添加
/** @OA\Info(title="你的接口文档名称", version="1.0") */,否则生成的JSON会缺少基础信息,可能导致Swagger UI加载报错
- 你可以直接使用全局安装的swagger-php命令生成静态JSON文件,执行命令:
内容的提问来源于stack exchange,提问作者Skytiger
相关产品推荐
相关产品推荐

