如何使用 openAPI Generator 和 Maven 跳过支持和元数据文件的生成?

Adm*_*mit 5 openapi-generator

我正在使用openapi-yaml带有 Maven的生成器将一个 swagger 文件转换为一个开放的 API v3 文件。

我想做的是将新文件直接放入某个目录。

然而,一些额外的文件生成,我不需要例如README.md.openapi-generator/VERSION.openapi-generator-ignore

是否可以禁用此行为并仅生成.yaml文件?

小智 12

您可以使用命令参数指定要生成的内容或从生成中排除的内容--global-property

查看文档:https://openapi-generator.tech/docs/customization/#selective- Generation

它说:

您可能不想生成项目中的所有模型。同样,您可能只需要编写一两个 api。如果是这种情况,您可以使用系统属性或全局属性来控制输出。

默认情况下生成特定库支持的所有内容。一旦启用某项功能,它将限制生成的内容:

# generate only models
--global-property models
# generate only apis
--global-property apis
# generate only supporting files
--global-property supportingFiles
# generate models and supporting files
--global-property models,supportingFiles
Run Code Online (Sandbox Code Playgroud)

要控制生成的特定文件,您可以传递所需内容的 CSV 列表:

# generate the User and Pet models only
--global-property models="User:Pet"
# generate the User model and the supportingFile `StringUtil.java`:
--global-property models=User,supportingFiles=StringUtil.java
Run Code Online (Sandbox Code Playgroud)

要控制 api 和模型的文档和测试的生成,请将 false 传递给该选项。对于 api,这些选项是 --global-property apiTests=false,apiDocs=false。对于模型,--global-property modelTests=false,modelDocs=false。这些选项默认为 true 并且不限制上面列出的功能选项的生成(例如 --global-property api):

# generate only models (with tests and documentation)
--global-property models
# generate only models (with tests but no documentation)
--global-property models,modelDocs=false
# generate only User and Pet models (no tests and no documentation)
--global-property models="User:Pet",modelTests=false
# generate only apis (without tests)
--global-property apis,apiTests=false
# generate only apis (modelTests option is ignored)
--global-property apis,modelTests=false
Run Code Online (Sandbox Code Playgroud)

当使用选择性生成时,仅使用特定生成所需的模板。

要跳过“requestBody”中定义为表单参数的模型,请使用skipFormModel(默认为true)(此选项在v3.2.2中引入,从v5.x开始默认为true)。

--global-property skipFormModel=true
Run Code Online (Sandbox Code Playgroud)

由于表单参数,此选项将有助于跳过模型生成,该参数在 OAS3 中的定义不同,因为 OAS3 中没有表单参数


Wil*_*eng 0

我建议你保留这些文件。README.md 帮助其他人理解代码。VERSION 显示您正在使用的 openapi-generator 版本。.openapi-generator-ignore与 .gitignore 类似,用于跳过某些文件的生成

输入README.md.openapi-generator/VERSIONin.openapi-generator-ignore将跳过生成这些文件。

要“忽略”.openapi-generator 文件夹,您可以使用脚本对输出进行后处理并删除不需要的文件/文件夹。

  • Op 没有征求你对他想做的事情的意见,他只是问是否可能。-1 (7认同)
  • 这是行不通的。我使用的是 5.0.0 版本的生成器,即使我将 `.openapi-generator/**` 放入忽略文件中,它仍然会生成 `.openapi-generator/` 内的每个文件 (2认同)