g4t/swagger

3.2.0 2024-09-17 16:50 UTC

README

Swagger Laravel 自动生成包是一个方便的工具,可以根据您的路由定义自动生成 Laravel API 的 Swagger 文档。它消除了手动记录 API 端点的需要,节省了您的时间和精力。

Swagger Laravel Autogenerate Package

特性

  • 自动为 Laravel API 生成 Swagger 文档。
  • 提取路由信息,包括 URI、HTTP 方法、路由名称、中间件等。
  • 支持请求验证和参数定义。
  • 生成符合 Swagger/OpenAPI 规范的 JSON 输出。
  • 易于在 Laravel 项目中集成和配置。

安装

通过 Composer 安装 Swagger Laravel 自动生成包

composer require g4t/swagger

使用

点击这里观看如何使用此包的视频

Explanatory video on how to use

  1. 安装包后,发布配置文件
php artisan vendor:publish --provider "G4T\Swagger\SwaggerServiceProvider"
  1. 根据您的需求修改 config/swagger.php 文件以配置包。此文件允许您为 Swagger 文档生成指定各种设置。

  2. 通过访问您的 Laravel 应用程序中的 /swagger/documentation 路由来访问生成的 Swagger 文档。例如,http://your-app-url/swagger/documentation

  3. 问题历史页面现在包含在 config/swagger.php 中,默认路由为 http://your-app-url/swagger/issues

  4. 要使用 ->description() 方法在 Swagger 路由中添加描述,您可以按照您提供的示例将其包含在 Laravel 应用程序的路线中。以下是如何在 Swagger 路由中使用 ->description() 方法描述路由的示例

     Route::get('user', [UserController::class, 'index'])->description('Get list of users with pagination.');
  5. 要使用 ->summary() 方法在 Swagger 路由中添加摘要,您可以按照您提供的示例将其包含在 Laravel 应用程序的路线中。以下是如何在 Swagger 路由中使用 ->summary() 方法描述路由的示例

     Route::get('user', [UserController::class, 'index'])->summary('get users.');
  6. 要添加部分描述,您可以使用此属性 #[SwaggerSection('一切关于您的用户')] 在您的控制器中。以下是如何在控制器中使用此属性的方法

     <?php
     
     namespace App\Http\Controllers;
     
     use G4T\Swagger\Attributes\SwaggerSection;
     
     #[SwaggerSection('everything about your users')]
     class UserController extends Controller
     {
        // ...
        // ...
        // ...
     }

贡献

对 Swagger Laravel 自动生成包的贡献总是受欢迎的!如果您发现任何问题或对改进有建议,请随时提出问题或提交拉取请求。

许可证

Swagger Laravel 自动生成包是开源软件,许可证为 MIT 许可证

鸣谢

Swagger Laravel 自动生成包由 HusseinAlaa 开发和维护。

其他资源

stand with palestine