darus-x / swaggervel
将Swagger集成到Laravel的绝佳方式
2.5.1
2020-04-23 20:34 UTC
Requires
- php: >=5.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路由时访问的文件。