首页 > php框架 > Laravel > 正文

Laravel如何生成API文档?(Swagger/OpenAPI教程)

穿越時空
发布: 2025-12-22 12:35:33
原创
305人浏览过
推荐使用 knuckleswtf/scribe 生成 Laravel API 文档,它自动扫描路由、解析验证规则与响应结构,支持 HTML、OpenAPI 3.0、Postman 导出;需规范路由定义、使用 FormRequest 和 JSON 响应,并通过 PHPDoc 注释定制文档内容。

laravel如何生成api文档?(swagger/openapi教程)

用 Laravel 生成 API 文档,最主流、维护好、集成顺的方式是通过 Swagger / OpenAPI 标准,配合 darkaonline/laravel-swagger 或更现代的 knuckleswtf/scribe(推荐)。下面讲清核心思路和实操步骤,不绕弯。

选对工具:Scribe 比传统 Swagger 包更省心

旧方案(如 laravel-swagger)依赖手动写注释 + 静态 JSON 生成,更新易断、不支持 Laravel 9+ 新特性;knuckleswtf/scribe 是当前 Laravel 社区首选——它能自动扫描路由、提取验证规则、解析响应结构,还能导出 HTML、OpenAPI 3.0 JSON/YAML、甚至 Postman 集合。

  • 安装:composer require --dev knuckleswtf/scribe
  • 发布配置:php artisan scribe:install
  • 生成文档:php artisan scribe:generate

让接口自动被识别:规范写法是关键

Scribe 不是“魔法”,它靠分析控制器方法、请求类、返回响应来推导文档。你需要保持基本约定:

  • 路由定义在 routes/api.php,用标准资源/命名路由,避免闭包路由
  • 控制器方法要有明确的 HTTP 方法注释(@GET, @POST),或直接用 Laravel 8+ 的 Route Model Binding + 类型提示
  • 请求校验统一走 FormRequest 类,Scribe 会自动读取 rules()messages()
  • 响应尽量用 response()->json() 或 Resource 类,配合 @response 注释可补全示例

定制文档内容:加注释比改代码更高效

默认生成可能缺描述、参数说明或示例响应。在控制器方法上方加 PHPDoc 注释即可精准控制:

文心大模型
文心大模型

百度飞桨-文心大模型 ERNIE 3.0 文本理解与创作

文心大模型 168
查看详情 文心大模型
  • @group Users —— 归类到「Users」分组
  • @bodyParam email string required Email address —— 定义请求体字段
  • @response {"id":1,"name":"Tom"} —— 写死一个响应示例
  • @responseField id integer ID of the user —— 说明响应字段含义

所有可用注释见 Scribe 官方注释参考,无需背,按需查。

部署与访问:生成静态 HTML 最实用

php artisan scribe:generate 默认输出到 public/docs,生成纯 HTML 页面,开箱即用:

  • 本地查看:http://your-app.test/docs
  • CI/CD 中加入该命令,每次发布自动更新文档
  • 支持搜索、深色模式、响应式布局,手机也能看
  • 同时产出 public/docs/openapi.yaml,可导入 Swagger UI、Redoc 或第三方平台(如 Stoplight)

基本上就这些。不用搭服务、不碰 YAML 手写、不配 Nginx 重写——Laravel 原生风格,文档跟代码一起迭代,不复杂但容易忽略。

以上就是Laravel如何生成API文档?(Swagger/OpenAPI教程)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号