m4r14/swaggervel

将Swagger集成到Laravel的绝佳方式

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

README

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

安装

  • 在Laravel根目录下执行composer require m4r14/swaggervel --dev
  • Appointer\Swaggervel\SwaggervelServiceProvider::class添加到app/config/app.php中的提供商数组中,位于路由提供商之上,以避免任何通配符路由
  • 运行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所做的一切就是将swagger-php和swagger-ui打包成Laravel友好的方式,并试图使其易于服务。有关如何使用swagger-php的信息,请查看此处。有关swagger-php的出色示例,请查看此处

进一步说明

此包是slampenny/Swaggervel的分支,因为它不再维护。

待办事项

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