luizalabs-opensource-php/laravel-request-docs

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

0.0.2 2023-04-18 19:57 UTC

This package is auto-updated.

Last update: 2024-09-18 22:46:16 UTC


README

我们要求对新拉取请求进行代码冻结,并要求请提交关于UI的问题,我们可以在新的UI更新中解决这些问题。

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

Docs 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 将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 添加了小型的搜索框过滤功能