Laravel如何为API生成Swagger或OpenAPI文档_技术学院_宜昌市隼壹珍商贸有限公司

您好,欢迎访问宜昌市隼壹珍商贸有限公司

400 890 5375
当前位置: 主页 > 新闻动态 > 技术学院

Laravel如何为API生成Swagger或OpenAPI文档

发布时间:2025-12-12  |  点击率:
使用DarkaOnLine/L5-Swagger包通过注解自动生成OpenAPI文档,1. 安装并发布配置文件;2. 配置扫描路径与路由;3. 在控制器中添加@OA注解描述接口;4. 生成文档并访问/api/documentation查看交互式页面;5. 可选自动更新机制保持文档同步。

在Laravel项目中为API生成Swagger(OpenAPI)文档,最常用且高效的方式是使用DarkaOnLine/L5-Swagger包。它基于Swagger PHP注解,能自动生成符合OpenAPI规范的交互式API文档。

1. 安装 L5-Swagger 包

在Laravel项目根目录下运行以下命令安装:

composer require "darkaonline/l5-swagger"

安装完成后,发布配置文件:

php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"

这会生成 config/l5-swagger.php 和视图资源文件。

2. 配置 Swagger 文档路径与扫描

打开 config/l5-swagger.php,确认以下关键配置项:

  • routes.api:访问文档的路由,如 /api/documentation
  • paths.docs:文档存储路径,默认为 storage/api-docs/
  • paths.annotations:注解扫描路径,通常设为 ./app/Http/Controllers

确保扫描路径包含你写注解的控制器或API类。

3. 在控制器中编写 OpenAPI 注解

使用PHP注解为API接口添加描述。例如:

/** * @OA\Get( * path="/api/users", * tags={"Users"}, * summary="获取用户列表", * @OA\Response( * response=200, * description="成功返回用户列表", * @OA\JsonContent(type="array", @OA\Items(ref="#/components/schemas/User")) * ) * ) */ public function index() { return User::all(); }

支持的注解包括:@OA\Info@OA\PathItem@OA\Schema 等,完整语法参考 Swagger-PHP 官方文档。

4. 生成和查看文档

运行以下命令生成JSON格式的OpenAPI文档:

php artisan l5-swagger:generate

启动Laravel服务后,访问:

http://your-app.test/api/documentation

即可查看由Swagger UI渲染的交互式API文档页面。

5. (可选)自动更新文档

开发阶段可在 AppServiceProvider 或使用监听器,在代码变更时自动重新生成文档,或在CI流程中加入生成命令。

基本上就这些。只要写好注解并正确配置,L5-Swagger就能帮你维护一份实时、可视化的API文档。

全国统一服务电话

400 890 5375

电子邮箱:879577@qq.com

公司地址:宜昌市西陵区黄河路5号三峡明珠10栋1051室

咨询微信

TEL:13680874598