macerd/laravel-request-docs

自动从请求规则、控制器和路由生成Laravel文档

安装: 57

依赖: 0

建议者: 0

安全: 0

星级: 1

关注者: 0

分支: 105

语言:Blade

1.22 2022-04-11 13:38 UTC

README

Laravel Request Docs

为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文档。

阅读更多:https://medium.com/web-developer/laravel-automatically-generate-api-documentation-without-annotations-a-swagger-alternative-e0699409a59e

要求

安装

您可以通过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

文档HTML生成在docs/内部。

只想查看Open API

在浏览器上查看/request-docs/?openapi=true

设计模式

为了让此插件工作,您需要在控制器内部注入请求类,并遵循设计模式。对于额外文档,您还可以在控制器方法中使用Markdown。

Design pattern

屏幕截图

生成的API文档

Preview

尝试API

Preview

SQL查询配置文件

Preview

响应配置文件

Preview

自定义头部

Preview

额外

您可以在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 异常 -> Throwable用于类型错误
  • v1.20 特性:支持open api 3.0.0 #10
  • v1.21 添加了自定义参数功能
  • v1.22 支持Boolean|File|Image
  • v1.22 支持Boolean|File|Image
  • v1.23 修复了lrd doc block #76的bug