ahmedash95/swaggervel

将Swagger集成到Laravel的绝佳方法

v2.2.1 2017-12-04 16:07 UTC

This package is auto-updated.

Last update: 2024-09-04 13:07:27 UTC


README

此包将 Swagger-phpswagger-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 中的providers数组中,在route provider之上,以避免任何捕获所有路由
  • 运行 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 路由时更改访问的文件。