luizalabs-opensource-php / laravel-request-docs
自动从请求规则、控制器和路由生成 Laravel 文档,rakutentech 分支
0.0.2
2023-04-18 19:57 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- illuminate/contracts: ^8.37|^9.0
- kitloong/laravel-app-logger: ^1.0
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.12
- brianium/paratest: ^6.2
- friendsofphp/php-cs-fixer: ^3.5
- nunomaduro/collision: ^5.3|^6.0
- orchestra/testbench: ^6.15|^7.0
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.23
- squizlabs/php_codesniffer: ^3.6
- vimeo/psalm: ^4.8
README
我们要求对新拉取请求进行代码冻结,并要求请提交关于UI的问题,我们可以在新的UI更新中解决这些问题。
Laravel的无需烦恼的自动API文档生成。
Swagger的替代品。
支持Open API 3.0.0
快速: 在任何 Laravel 项目上安装
无烦恼: 自动生成请求规则和参数的API文档
分析: 内置SQL查询时间分析器,响应时间和头输出。
支持: Postman和OpenAPI 3.0.0导出。
特性
- 自动从Laravel路由获取路由
- 自动从注入的请求获取规则
- 支持授权头
- 支持Laravel上的SQL查询、响应时间和内存消耗
- 使用
faker.js
智能自动请求构建器 - 使用Markdown显示额外文档
- 将laravel API、路由、规则和文档导出到Postman和OpenAPI 3.0.0
在Medium上阅读
无需编写注解即可自动为Laravel生成api文档。
需求
安装
您可以通过composer安装此包
composer require rakutentech/laravel-request-docs --dev
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag=request-docs-config
使用
仪表板
在/request-docs/
上通过浏览器查看
生成静态HTML和Open API规范
php artisan lrd:generate
Docs HTML在docs/
内生成。
仅想查看Open API
在/request-docs/?openapi=true
上通过浏览器查看
设计模式
为了使此插件正常工作,您需要在控制器中注入请求类,并遵循设计模式。对于额外文档,您还可以在控制器方法中使用Markdown。
截图
生成的API文档
尝试API
SQL查询配置文件
响应配置文件
自定义头
额外
您可以在Markdown中编写额外的文档,它将在仪表板上以HTML格式渲染。例如,在控制器中使用它
/** * @lrd:start * #Hello markdown * ## Documentation for /my route * @lrd:end */ public function index(MyIndexRequest $request): Resource {
自定义参数
您可以使用@QAparam注释行编写额外的规则参数
/** * @QAparam search string */ public function index(MyIndexRequest $request): Resource {
/** * @QAparam search string nullable max:32 */ public function index(MyIndexRequest $request): Resource {
测试
./vendor/bin/phpunit
代码检查
./vendor/bin/phpcs --standard=phpcs.xml --extensions=php --ignore=tests/migrations config/ src/
修复代码检查问题
./vendor/bin/php-cs-fixer fix src/ ./vendor/bin/php-cs-fixer fix config/
变更日志
- 初始发布
- v1.9 增加了状态码、响应头、自定义请求头等改进,并修复了用户报告的问题
- v1.10 显示PHP内存使用情况,修复gzip编码问题
- v1.12 修复id错误,支持Laravel 9
- v1.13 支持Laravel 9
- v1.15 添加过滤功能,异常时回退到正则表达式
- v1.17 不限制为FormRequest
- v1.18 修复prism固定高度的问题。允许文本区域调整大小。
- v1.18 更新UI并推送单元测试
- v1.19 将Exception -> Throwable用于类型错误
- v1.20 支持open api 3.0.0 #10
- v1.21 添加自定义参数功能
- v1.22 支持布尔值、文件、图像
- v1.22 支持布尔值、文件、图像
- v1.23 修复lrd doc block #76的bug
- v1.27 在宽度和请求方法上添加了一些修复
- v1.30 添加了小型的搜索框过滤功能