waffler / opengen

使用 openapi 规范的 Waffler 客户端生成器

1.0.2 2022-09-05 22:31 UTC

README

此包读取 open api 文件(如 swagger),并生成可用于 Waffler 接口。

支持的 OpenApi 规范

如何安装

composer require waffler/opengen

** 此包需要 PHP 8 或更高版本。 **

如何使用

<?php

require __DIR__.'/vendor/autoload.php';

use Waffler\OpenGen\ClientGenerator;
use \Waffler\OpenGen\Adapters\OpenApiV3Adapter;

$generator = new ClientGenerator(new OpenApiV3Adapter(
    'FooBar\\Namespace',
));

$generationMap = $generator->generateFromYamlFile(
    'path/to/openapi-file.yaml',
    'path/to/output-dir/',
);

生成选项

选项: interface_suffix

添加此选项,您可以修改 ClientInterface 接口后缀。

  • 类型: string

示例代码

[
    'interface_suffix' => 'Api' // Replaces 'ClientInterface'
]

选项: ignore

添加此选项,您可以在代码生成中指定要忽略的元素。可忽略的项包括

  • 参数
  • 方法

示例代码

[
    'ignore' => [
        'parameters' => [],
        'methods' => []
    ]
]

选项: ignore.parameters

添加此选项,您可以在代码生成中指定要忽略的参数类型。可用的参数类型包括

  • header
  • query
  • path
  • formData

示例代码

[
    'ignore' => [
        'parameters' => [
            'header' => ['Authorization', 'other_header_name']
        ]
    ]
]

选项: ignore.methods

添加此选项,您可以在代码生成中指定要忽略的方法名称。方法名称是 openapi 规范文件中的 operationId

示例代码

[
    'ignore' => [
        'methods' => ['getById', 'deleteUser']
    ]
]

选项: remove_method_prefix

添加此选项,您可以从代码生成中移除 operationIds 的前缀。在下面的示例中,我们将

示例代码

[
    'remove_method_prefix' => '/\w*\//'
]