ark4ne/laravel-openapi-generator

OpenApi - Laravel 文档生成器

v0.1.0 2024-08-07 15:17 UTC

This package is auto-updated.

Last update: 2024-09-07 15:33:23 UTC


README

Laravel 的 OpenApi 文档生成器。

example branch parameter codecov

安装

composer require ark4ne/laravel-openapi-generator

使用

php artisan openapi:generate

配置

...

版本

“版本”部分允许您为 API 的每个版本指定不同的配置。

输出文件

输出文件名。

标题

文档标题。

描述

文档描述。

路由

定义哪些路由将被处理。模式必须是一个 shell 掩码。

'routes' => [
    'api/*'
],

按组

文档描述。用于分组 API 路由。

根据以下内容定义分组

  • 控制器 : 路由控制器类
  • uri : 路由 uri
  • 名称 : 路由名称

正则表达式

定义一个正则表达式,用于检索组名称。

示例

'groupBy' => [
    'by' => 'controller',
    'regex' => '/^App\\\\Http\\\\(\w+)/'
],

使用此方法,路由将按控制器类名分组。

忽略动词

要忽略的 HTTP 动词。

解析器

定义用于记录特定类的所有解析器。

对于每个对象,仅使用一个解析器。
例如

class MyResourceCollection extends ResourceCollection {}

ResourceCollectionParserJsonResourceParser 是合格的,因为 MyResourceCollection 继承自 ResourceCollection,而 ResourceCollection 继承自 JsonResource

解析器的顺序将确定我们将使用哪个解析器:1st 合格 => 使用解析器。

对于 MyResourceCollection,我们将使用 ResourceCollection

请求

请求解析器。

规则

请求规则解析器。

响应

响应解析器。

中间件

增加全局中间件配置。

@see 中间件

格式

日期

定义日期格式将被如何理解。

中间件

定义中间件转换器。

对于每个中间件,您可以定义一个用于转换请求或响应的转换器。

'middlewares' => [
     'auth:sanctum' => [
         \Ark4ne\OpenApi\Transformers\Middlewares\ApplyBearerTokenSecurity::class,
     ],
     \Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::class => [
         \Ark4ne\OpenApi\Transformers\Middlewares\ApplyCsrfSecurity::class,
     ]
],

连接

使用事务

定义是否在不同数据库连接上使用事务。

使用事务将通过工厂创建和保存模型。在生成的末尾,将使用回滚删除保存的模型。

不使用事务,模型将被创建但不会保存,这可能导致在生成过程中出现错误。