我开始将OpenApi Generator用于TypeScript和Axios。它真的很好!我唯一想知道的是,如何生成类而不是接口?
例如typescript-node在设置withInterfaces选项时,我将所有模型作为具有可选Interfaces的类获取。使用typescript-axios,我只能得到接口……这很烦人……有人可以帮我吗?
我正在使用1.0.12-4.3.0版本
预先感谢, 安迪
答案 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 个月检查一次是否有新的默认模板,并将您的自定义应用到