alfreddagenais / l5-swagger-annotation-tag-cleanup
L5 Swagger 扩展 - 注解标签清理
Requires
- php: ^7.2 || ^8.0
- ext-json: *
- darkaonline/l5-swagger: ^8.5
- laravel/framework: ^10.0
- symfony/yaml: ^6.0 || ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0 || ^2.17
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0 || ^9.5
README
这是一个Laravel API文档扩展,用于L5-Swagger,可以根据标签组织Swagger规范操作,增强API文档的清晰度和导航的便捷性。
关于此项目
欢迎使用L5 Swagger扩展 - 注解标签清理,这是一个源于将秩序和清晰度带入Swagger文档的真实需求的定制Laravel包。
🔍 挑战:作为一名开发者,你可能已经体验过管理大量API文档的复杂性。像许多人一样,我发现自己正在迷宫般的Swagger文档中导航。使用Swagger处理器或自定义处理器进行清理的尝试似乎是在撞南墙。
🌟 解决方案:就在那时,我想到了一个主意!为什么不创建一个简单而有效的工具,一个与Laravel所知的易用性和优雅相呼应的工具?于是,这个扩展就诞生了——一个旨在根据标签整理Swagger操作的清理工具。
🔗 它做什么:这个扩展通过允许您轻松地组织API文档来增强L5-Swagger包。它筛选操作,删除孤立的模式,并确保您的API文档像您的代码一样整洁。
🤝 社区贡献:考虑到社区的需求,这个包不仅是我自己斗争的解决方案,也是为那些有相同痛点的人做出的贡献。它是开放的,直接的,并且旨在使您的Swagger文档变得轻而易举!
安装
composer require "alfreddagenais/l5-swagger-annotation-tag-cleanup"
用法示例
将以下配置放置在config/l5-swagger.php
return [ 'default' => 'default', 'documentations' => [ 'default' => [ ... 'atcOptions' => [ 'cleanOrphanSchemas' => true, 'exclude' => [ 'operations' => [ 'tags' => ['mytagname', 'customtag2'], ], ], ], ... ], ... ], ... ]
运行php artisan l5-swagger-extatc:generate
以生成文档
设置
可以在配置文件config/l5-swagger.php
中直接添加键
包括
操作
安全方案
设置示例
'atcOptions' => [ 'cleanOrphanSchemas' => true, 'exclude' => [ 'operations' => [ 'tags' => ['mytagname', 'customtag2'], ], ], ],
'atcOptions' => [ 'include' => [ 'operations' => [ 'tags' => ['mytagname'], ], 'securitySchemes' => [ 'names' => ['oauth2'], ], ], ],
'atcOptions' => [ 'include' => [ 'operations' => [ 'tags' => ['customtag2'], ], 'securitySchemes' => [ 'names' => ['oauth2'], ], ], 'exclude' => [ 'operations' => [ 'tags' => ['mytagname'], ], 'securitySchemes' => [ 'names' => ['apikey'], ], ], ],
命令选项
- 运行
php artisan l5-swagger-extatc:generate --all
以生成所有文档 - 运行
php artisan l5-swagger-extatc:generate default
以生成默认文档 - 运行
php artisan l5-swagger-extatc:generate customname
以生成特定自定义名称的文档
有关更多命令选项,请参阅DarkaOnLine/L5-Swagger
免责声明
本包是DarkaOnLine/L5-Swagger的包装器
实际的Swagger规范超出了本包的范围。L5-Swagger所做的只是以Laravel友好的方式打包swagger-php和swagger-ui,并尝试使其易于服务。有关如何使用swagger-php的信息,请参阅此处。有关swagger-php的实例,请参阅此处。
许可
MIT