waffler / opengen
使用 openapi 规范的 Waffler 客户端生成器
1.0.2
2022-09-05 22:31 UTC
Requires
- php: ^8.0
- cebe/php-openapi: ^1.6.0
- nette/php-generator: ^3.6
- symfony/filesystem: ^6.0
- waffler/waffler: ^1.1.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- jetbrains/phpstorm-attributes: dev-master
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.5.10
- vimeo/psalm: ^4.22
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
添加此选项,您可以在代码生成中指定要忽略的参数类型。可用的参数类型包括
headerquerypathformData
示例代码
[
'ignore' => [
'parameters' => [
'header' => ['Authorization', 'other_header_name']
]
]
]
选项: ignore.methods
添加此选项,您可以在代码生成中指定要忽略的方法名称。方法名称是 openapi 规范文件中的 operationId。
示例代码
[
'ignore' => [
'methods' => ['getById', 'deleteUser']
]
]
选项: remove_method_prefix
添加此选项,您可以从代码生成中移除 operationIds 的前缀。在下面的示例中,我们将
示例代码
[
'remove_method_prefix' => '/\w*\//'
]