【问题标题】:OpenApi Generator typescript-axios Only interfaces output with typescript axios generatorOpenApi Generator typescript-axios 仅与 typescript axios generator 接口输出
【发布时间】:2020-07-26 02:11:36
【问题描述】:
我开始使用 OpenApi Generator for TypeScript 和 Axios。它真的很好用!我唯一想知道的是,如何生成类而不是接口?
例如typescript-node 设置选项 withInterfaces 时,我将所有模型作为具有可选接口的类。使用 typescript-axios 我只能获得接口……这很烦人……有人能帮帮我吗?
我使用的是 1.0.12-4.3.0 版本
提前致谢,
安迪
【问题讨论】:
标签:
typescript
axios
openapi-generator
【解决方案1】:
我所做的是,我的项目根目录中有openapi-templates 文件夹。
然后你必须在openapi-generator github上找到你想要覆盖的模板。
我不确定您到底在使用什么,所以这一点对您来说可能略有不同,但是.. 我使用的是 docker 版本的 openapi-generator-cli 并且我正在安装我的物理文件夹(在我将openapi-templates 文件夹)作为:/local 放在docker 中。然后我使用-t /local/openapi-templates 命令行开关告诉生成器在我的openapi-templates 文件夹中查找它应该应用于默认模板的任何模板覆盖。
接下来,您应该从该 github 链接下载 modelGeneric.mustache 文件。将文件放在openapi-templates 文件夹中,然后修改它。基本上你需要将interface关键字改为class关键字。
现在使用额外的命令行参数运行您的生成器,您应该生成类而不是接口,并且由于在 TS 中类可以充当接口,因此没有真正的缺点。
请记住,openapi 团队每隔一段时间就会更新这些模板,所以现在您可能需要维护您的自定义覆盖文件。也许每 6 个月检查一次是否有新的默认模板并将您的自定义应用到它。