本文目录导读:

是的,Laravel 可以自动生成 API 文档,以下是几种常用的解决方案:
Laravel Scribe(推荐)
最流行的 Laravel API 文档生成工具。
# 安装 composer require --dev knuckleswtf/scribe # 生成配置 php artisan vendor:publish --tag=scribe-config # 生成文档 php artisan scribe:generate
特点:
- 从控制器代码注释自动提取文档
- 支持 API 响应、请求参数、模型属性
- 生成美观的 HTML 文档
- 支持 Postman 集合
示例控制器:
/**
* 获取用户列表
*
* @response {
* "id": 1,
* "name": "张三",
* "email": "zhangsan@example.com"
* }
*/
public function index()
{
return User::all();
}
Swagger / OpenAPI
使用 darkaonline/l5-swagger 包。
composer require darkaonline/l5-swagger
特点:
- 使用标准的 OpenAPI 规范
- 提供可视化界面(Swagger UI)
- 强大的交互式测试功能
控制器示例:
/**
* @OA\Get(
* path="/api/users",
* @OA\Response(response="200", description="用户列表"
* )
*/
public function index() { }
API DataTree
适合简单项目的轻量级方案。
手动编写
使用 Laravel 的 Blade 模板系统,配合路由列表手动生成。
推荐工作流程
- 开发阶段:使用 Scribe 自动生成
- 生产环境:配合 Swagger 提供交互式文档
- 持续集成:将文档生成加入 CI/CD 流程
# 在部署脚本中加入 php artisan scribe:generate --no-versioning
选择哪种工具取决于你的具体需求:
- Scribe:快速、简洁,适合大多数项目
- Swagger:功能强大,适合大型项目或需要严格规范的项目
- 手动:完全控制文档样式和内容
通常建议从 Laravel Scribe 开始,因为它安装简单、配置方便,能满足大部分 API 文档需求。