nivekalara237 / swaggervel
将 Swagger 集成到 Laravel 的一种好方法
2.6.1
2020-03-18 10:04 UTC
Requires
- php: >=5.6.0
- illuminate/support: ^5.0|^6.0|^7.0
README
此包将 Swagger-php 和 swagger-ui 结合成一个 Laravel 友好的包。当你在调试模式下运行应用程序时,Swaggervel 将扫描你的应用程序文件夹(或在 packages 配置中的 "app-dir" 变量下设置的任何文件夹),生成 swagger json 文件并将它们存放到 doc-dir 文件夹(默认为 /docs
)。然后,这些文件由 swagger-ui 在 api-docs 目录下提供。
安装
- 在 Laravel 根目录下执行
composer require appointer/swaggervel --dev
- 将
Appointer\Swaggervel\SwaggervelServiceProvider::class
添加到app/config/app.php
中的 providers 数组,在你的路由提供者之上,以避免任何捕获所有路由 - 运行
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
。
示例(使用默认配置时)
- www.example.com/docs <- 你可以在这里找到自动生成的 Swagger .json 文件
- www.example.com/api/docs <- 访问你的 Swagger UI
选项
所有选项都在 swaggervel.php 配置文件中有详细注释。
如何使用 Swagger-php
实际的 Swagger 规范超出了本包的范围。Swaggervel 做的是将 swagger-php 和 swagger-ui 以 Laravel 友好的方式打包,并试图使其易于提供。有关如何使用 swagger-php 的信息,请查看此处。有关 swagger-php 的良好示例,请查看此处。
其他注意事项
此包是 slampenny/Swaggervel 的分支,因为它不再维护。
待办事项
- 对 /doc 调用的处理仍然非常不一致,因为你不能更改文件名(api-docs.json),但你可以在使用 /doc 路由时更改访问的文件。