OpenApi生成器typescript-axios仅与typescript axios生成器接口输出

时间:2020-04-13 13:43:53

标签: typescript axios openapi-generator

我开始将OpenApi Generator用于TypeScript和Axios。它真的很好!我唯一想知道的是,如何生成类而不是接口?

例如typescript-node在设置withInterfaces选项时,我将所有模型作为具有可选Interfaces的类获取。使用typescript-axios,我只能得到接口……这很烦人……有人可以帮我吗?

我正在使用1.0.12-4.3.0版本

预先感谢, 安迪

1 个答案:

答案 0 :(得分:0)

我所做的是,我的项目根目录中有 openapi-templates 文件夹。

然后您必须在 openapi-generator github 上找到要覆盖的模板。

我不确定您到底在使用什么,所以这对您来说可能略有不同,但是..我正在使用 openapi-generator-cli 的 docker 版本并且我正在安装我的物理文件夹(一个我把 openapi-templates 文件夹放在那里),作为 :/local 在 docker 中。然后我使用 -t /local/openapi-templates 命令行开关告诉生成器查看我的 openapi-templates 文件夹中的任何模板覆盖,它应该应用于默认模板。

接下来,您应该从该 github 链接下载 modelGeneric.mustache 文件。将文件放在 openapi-templates 文件夹中,并对其进行修改。基本上,您需要将 interface 关键字更改为 class 关键字。

现在使用额外的命令行参数运行您的生成器,您应该生成类而不是接口,并且由于在 TS 中类可以充当接口,因此没有真正的缺点。

请记住,openapi 团队每隔一段时间更新一次这些模板,所以现在您可能需要维护您的自定义覆盖文件。也许每 6 个月检查一次是否有新的默认模板,并将您的自定义应用到