如何使用具有构造函数的开放 api 生成器生成 class 模型?

How to generate class models with an open api generator that have a constructor?

我正在使用 openapi-generator 生成 typescript-fetch。我喜欢使用 openapi-generator,因为它支持 DTO 作为查询参数,如果我有 10 个查询参数方法,则生成为 RequestDto。太棒了,想象一下有 10 个参数并排作为方法输入,噩梦。无论如何,这很好,但是当你像这样使用它时:

java -jar openapi-generator-cli-4.0.3.jar generate -i ../swagger-spec.json -g typescript-fetch -o api-specs --enable-post-process-file --skip-validate-spec

它将生成模型目录,但其中包含接口而不是实际的 类。我不能说 new Interface,手动制作 50 个 类 来实现这些接口对我来说意义不大。

那么,openapi 生成器有什么方法可以生成带有构造函数的模型(类)?

Nswag 正在处理实际的 类(具有构造函数和接口)但它不会将查询参数转换为 Dto。

您可以修改模板文件 modelGeneric.mustache,然后像这样指定您的自定义模板目录 (-t):

java -jar openapi-generator-cli-4.0.3.jar generate -i ../swagger-spec.json \
-g typescript-fetch -o api-specs \
-t ../swagger-templates/typescript-fetch/ \
--enable-post-process-file --skip-validate-spec