OpenAPI Generator 如何用 global-property 只生成指定的 models、apis 或 supportingFiles?

发布时间:2026/9/13 3:17:15

OpenAPI Generator 如何用 global-property 只生成指定的 models、apis 或 supportingFiles? OpenAPI Generator 如何用 global-property 只生成指定的 models、apis 或 supportingFiles【免费下载链接】openapi-generatorOpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)项目地址: https://gitcode.com/GitHub_Trending/op/openapi-generator用 OpenAPI Generator 从一份 OpenAPI 规范生成代码时默认会把该生成器支持的全部内容都写出来。如果你的目标只是其中一部分——比如只要User和Pet两个模型或只要某一个 supporting file——可以在generate命令里通过--global-propertyMaven/Gradle 中对应globalProperty做选择性生成。本文基于项目文档 docs/customization.md、docs/global-properties.md 与 docs/configuration.md 给出 CLI、Maven、Gradle 三种写法以及如何验证只写出了你要的文件。可选哪些生成类别docs/global-properties.md 列出了与选择性生成直接相关的 global properties属性作用可接受的值models限定生成哪些模型不传值整类或冒号分隔的模型名列表apis限定生成哪些 API不传值整类或冒号分隔的 API 名列表supportingFiles限定生成哪些 supporting files不传值整类或冒号分隔的文件名列表apiDocs/modelDocs是否生成 API/模型文档true或falseapiTests/modelTests是否生成 API/模型测试true或false默认行为是生成该库支持的所有内容一旦启用上面的任一选项生成范围就会被限制。文档同时提醒models、apis、supportingFiles等属性更推荐搭配功能更完善的.openapi-generator-ignore使用见 docs/customization.md 的 Ignore file format 一节该文件必须位于输出目录根部。CLI 写法先整类再具体到名字docs/usage.md 中generate命令的参数说明--global-property global properties的格式是namevalue,namevalue也可以多次传该选项每次一个namevalue。最小可用命令需要-g生成器、-ispec 文件、-o输出目录选择性生成选项叠加在--global-property上。只生成某一整类不传值后留空或不写# 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具体到指定的模型、API 或 supporting file用冒号分隔的名字列表。以 Java 生成器为例完整命令# 只生成 User 和 Pet 两个模型 openapi-generator generate -g java -i spec.yaml -o out \ --global-property modelsUser:Pet # 只生成 User 模型和 supportingFile StringUtil.java openapi-generator generate -g java -i spec.yaml -o out \ --global-property modelsUser,supportingFilesStringUtil.java其中spec.yaml换成你的 OpenAPI 规范文件out是输出目录对应 docs/usage.md 中-i、-o的含义。模型/API 名和文件名要与 spec 中的实际定义一致否则匹配不上。还可以叠加apiDocs、modelDocs、apiTests、modelTests控制文档和测试是否生成。这些选项默认为true并且不影响上面models、apis等类别限制本身docs/customization.md 原话示例# generate only models (with tests and documentation) --global-property models # generate only models (with tests but no documentation) --global-property models,modelDocsfalse # generate only User and Pet models (no tests and no documentation) --global-property modelsUser:Pet,modelTestsfalse # generate only apis (without tests) --global-property apis,apiTestsfalse # generate only apis (modelTests option is ignored) --global-property apis,modelTestsfalse注意最后一行的说明只生成 apis 时modelTests选项会被忽略。一个行为细节使用选择性生成时只有当前这次生成所需模板会被使用docs/customization.mdWhen using selective generation,onlythe templates needed for the specific generation will be used.。Maven 与 Gradle 插件中的等价写法同一个选择性生成属性在不同工具里的声明方式不同docs/configuration.md 专门对比了这一点。Gradle 插件globalProperties直接写成字符串空字符串表示整类如生成所有 apisopenApiGenerate { globalProperties.set([ apis: , models: User:Pet ]) }Maven 插件受 XML 语法限制apis/与apis/apis会被当作未定义无法表达空字符串 整类因此插件提供了一组独立开关modules/openapi-generator-maven-plugin/README.md选项默认说明generateApis/apisToGeneratetrue/ 全部生成 APIapisToGenerate为逗号分隔的 API 名列表generateModels/modelsToGeneratetrue/ 全部生成模型modelsToGenerate为逗号分隔的模型名列表generateSupportingFiles/supportingFilesToGeneratetrue/ 全部生成 supporting filessupportingFilesToGenerate为逗号分隔的文件名列表generateApiTests/generateApiDocumentationtrue仅在generateApis为true时有效generateModelTests/generateModelDocumentationtrue仅在generateModels为true时有效Maven 中也可以用与 CLI 等价的globalProperties配置节点modules/openapi-generator-maven-plugin/README.md 示例对应 CLI 的--global-property modelsUser:Petconfiguration globalProperties modelsUser:Pet/models /globalProperties /configuration该示例与下面的写法等价区别在于generateModels、modelsToGenerate也可以定义为 Maven property而globalProperties只能写成 configuration 节点configuration generateModelstrue/generateModels modelsToGenerateUser:Pet/modelsToGenerate /configuration两种传值方式Java System Property 与 --global-propertydocs/global-properties.md 说明选择性生成的 global properties 有两种传入方式Java System Properties或工具选项CLI 的--global-property、Maven/Gradle 的globalProperty。这个区分从 5.0 版本开始才成立——5.0 移除了旧的-DCLI 选项并将systemProperties重命名。两者等价例如java -Dmodels {jar} generate {opts}与java {jar} generate {opts} --global-propertymodels文档提醒docs/customization.md 中的示例用的是 Java System Property 语法但两种写法效果相同。如果你的版本在 5.0 以下升级上来不要继续依赖-D工具选项。如何确认只生成了指定内容生成后检查输出目录是最直接的验证-o out下应该只有你指定的模型/API/supported file 相关文件。例如--global-property modelsUser:Pet之后模型包里应只有User与Pet对应的文件而不是 spec 中全部 schemas。生成前可以用--dry-run预演。docs/usage.md 对它的描述是Try things out and report on potential changes (without actually making changes)docs/debugging.md 进一步说明dry-run 输出会列出正常运行时会写入的文件文件名前有n表示内容不同才会覆盖写入以w开头的行表示一定会产生写操作openapi-generator generate -g java -i spec.yaml -o out \ --global-property modelsUser:Pet --dry-run对照列出清单是否只包含User、Pet相关条目即可确认选择性生成生效再正式执行不带--dry-run的命令。限制与边界models、apis、supportingFiles在 docs/global-properties.md 中被明确标注Prefer using the more robust.openapi-generator-ignore。如果控制的是输出目录中具体文件而不是模板类别ignore 文件是文档推荐的路径它必须放在输出目录根部首次生成时可用--ignore-file-override/path/to/ignore_file指定该选项是完整覆盖。apiDocs、modelDocs、apiTests、modelTests默认为true且它们不改变models/apis等类别限制的范围只生成 apis 时modelTests会被忽略。选择性生成只影响用哪些模板不改变模板内容本身模板变量的排查可用--global-property debugModels、debugOperations、debugSupportingFilesdocs/debugging.md需要时再查该文档。【免费下载链接】openapi-generatorOpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)项目地址: https://gitcode.com/GitHub_Trending/op/openapi-generator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/13 3:17:15

Sprint [] Planning - [Date]

Sprint [#] Planning - [Date] 【免费下载链接】skills Skills Catalog for Codex 项目地址: https://gitcode.com/GitHub_Trending/skills4/skills Meeting Details Date: [Date] Team: [Team name] Sprint Duration: [Dates] Sprint Goal [Clear statement of what…

2026/9/13 3:17:15

10个提示词工程实战技巧,让大模型输出质量立竿见影

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 3:17:15

2026西双版纳化工产品成分分析检测排名 TOP5 CMA 资质提供含量检测、纯度检测、元素分析 联系方式推荐

西双版纳的街头巷尾,化工产品成分分析检测机构鳞次栉比,看似选择众多实则鱼龙混杂。化工企业、新材料厂商、日化生产工厂、橡塑制造业乃至食品医药企业在研发质检时,稍有不慎便会筛选到无正规资质的检测机构,出具的成分分析报告不…

2026/9/13 4:07:17

实时电机模拟器:为电驱系统提供微秒级闭环验证的硬件神经末梢

1. 这不是“仿真软件”,而是一台能“呼吸”的电机——瑞途优特实时电机模拟器到底在解决什么问题?2026年硅谷国际发明展刚落幕,朋友圈里刷屏的不是某家巨头的新芯片,而是一台巴掌大小、外壳带散热鳍片的黑色盒子——瑞途优特RealM…

2026/9/13 4:07:17

AC滤波器不是被动元件:解析动态温升与ESR劣化机制

1. 这个“001.3_Live component_AC Filter”到底在滤什么?第一次看到这个命名时,我下意识以为是某个工业控制柜里的老式滤波模块编号——直到把它拆开看实物。它既不是电源适配器里那种黄铜色的LC无源滤波器,也不是开关电源前端常见的共模电感…

2026/9/13 4:02:17

RK3399 Android 7.1 实现 WiFi STA+AP 并发全栈解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码