dagbouj-hatem/swaggervel

将 Swagger 集成到 Laravel 的绝佳方式

dev-master 2020-04-26 00:09 UTC

This package is not auto-updated.

Last update: 2024-09-23 19:08:08 UTC


README

本软件包将 Swagger-phpswagger-ui 集成到一个 Laravel 适用的软件包中。当您以调试模式运行您的应用程序时,Swaggervel 将扫描您的应用程序文件夹(或在 packages 配置中设置下的 "app-dir" 变量下的任何文件夹),生成 swagger json 文件并将它们存放到 doc-dir 文件夹中(默认为 /docs)。然后文件由 swagger-ui 在 api-docs 目录下提供。

安装

1- 添加包

  • 在您的 Laravel 项目根目录下执行 composer require dagbouj-hatem/swaggervel --dev

2- 添加服务提供者(如果您使用 Laravel 5.5+,此步骤是可选的)

  • Appointer\Swaggervel\SwaggervelServiceProvider::class 添加到 app/config/app.php 中的 providers 数组中,在路由提供者之上,以避免任何捕获所有路由。
providers' => [
    // ...
    Yajra\DataTables\DataTablesServiceProvider::class,
],

3- 发布公共文件夹(可选)

  • 运行 php artisan vendor:publish --tag=public 以将 swagger-ui 推送到您的公共文件夹(位于 public/vendor/swaggervel 中)。

4- 发布配置文件夹(可选)

  • 可选地运行 php artisan vendor:publish --tag=config 以将 swaggervel 默认配置推送到您的应用程序配置目录。

5- 发布视图文件夹(可选)

  • 可选地运行 php artisan vendor:publish --tag=views 以将 swaggervel 索引视图文件推送到 resources/views/vendor/swaggervel

示例(使用默认配置时)

选项

所有选项都在 swaggervel.php 配置文件中进行了详细注释。

如何使用 Swagger-php

实际的 Swagger 规范超出了本软件包的范围。Swaggervel 所做的一切只是以 Laravel 适用的方式打包 swagger-php 和 swagger-ui,并试图使其易于提供。有关如何使用 swagger-php 的信息,请查看此处。有关 swagger-php 的良好示例,请查看此处

其他注意事项

由于不再维护,本软件包是 Appointer/Swaggervel 的分支。

待办事项

  • 对 /doc 调用的处理仍然非常不一致,因为您无法更改文件名(api-docs.json),但可以更改使用 /doc 路由时访问的文件。