appointer / swaggervel
此包已被废弃,不再维护。没有建议的替代包。
将Swagger集成到Laravel的绝佳方式
v2.5
2019-09-09 20:08 UTC
Requires
- php: >=5.6.0
- illuminate/support: ^5.0|^6.0
- swagger-api/swagger-ui: ^3.1
- zircote/swagger-php: ^2.0
README
此包将 Swagger-php 和 swagger-ui 集成到一个Laravel友好的包中。当您以调试模式运行应用程序时,Swaggervel 将扫描您的应用程序文件夹(或任何在包配置中的 "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
中的提供者数组,位于路由提供者之上,以避免任何捕获所有路由 - 运行
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所做的一切就是以Laravel友好的方式打包swagger-php和swagger-ui,并尝试使其易于提供。有关如何使用swagger-php的信息,请查看这里。有关swagger-php的良好示例,请查看这里。
进一步说明
此包是基于 slampenny/Swaggervel 分支的,因为它不再维护。
待办事项
- /doc 调用的处理仍然非常不一致,因为您无法更改文件名(api-docs.json),但可以更改使用 /doc 路由时访问的文件。