epicsagas/swaggervel

将 Swagger 集成到 Laravel 的好方法

v2.5 2019-09-09 20:08 UTC

README

这是一个分支包,支持 Laravel 7 和 infyom 7,源自 appointer/swaggervel。因此,所有代码、概念和设计权利都属于 appointer。安装 composer require epicsagas/swaggervel:dev-master --dev

Swaggervel (Laravel 5 的 Swagger 集成)

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

安装

  • 在 Laravel 根目录下执行 composer require appointer/swaggervel --dev
  • Epicsagas\Swaggervel\SwaggervelServiceProvider::class 添加到 app/config/app.php 中的 providers 数组,在 route provider 之上,以避免任何 catch-all 路由
  • 运行 php artisan vendor:publish --tag=public 将 swagger-ui 推送到您的公共文件夹(可在 public/vendor/swaggervel 中找到)。
  • 可选地运行 php artisan vendor:publish --tag=config 将 swaggervel 默认配置推送到您的应用程序的配置目录。
  • 可选地运行 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 的良好示例,请查看这里

其他注意事项

由于不再维护,此包是 slampenny/Swaggervel 的分支。

待办事项

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