当前位置: 首页 > 知识库问答 >
问题:

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

钱稳
2023-03-14

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

java-jar-openapi-generator-cli-4.0.3。jar生成-i/swagger-spec.json-g typescript fetch-o api规范-启用后处理文件-跳过验证规范

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

那么,openapi生成器是否有任何方法可以使用构造函数生成模型(类)?

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

共有1个答案

孙鑫鹏
2023-03-14

您可以修改模板文件modelGeneric。然后指定自定义模板目录(-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

 类似资料:
  • 我目前正在使用Builder模式,密切遵循Wikipedia文章Builder pattern http://en.Wikipedia.org/wiki/builderpattern中建议的Java实现 这是一个示例代码,它将我的实现 我如何调用超类构建器并将其返回的对象分配为我的实例?

  • 操作步骤: 菜单栏: Code —> Generate —> Constructor 快捷键: Mac: command + N Windows\/Linux: Alt + Insert —> Constructor

  • 我正在使用swagger 2和open api 5.3.1生成器生成一些类。目前,它似乎没有在Long(swagger中定义为int64)上生成模式注释。我该怎么做? 昂首阔步: 生成的代码

  • 我在另一个人推送的AWS AppSync上有一个GraphQL API,我想连接到它并在我的Android应用程序中获取数据。根据AWS文档,要将API与我的应用程序集成,我应该执行以下3个命令: 之后,我需要基于graphql模式生成Java类。我执行,但收到错误“未配置AppSync API。请添加API”。如果执行,我会得到“您的项目中已经有一个AppSync api。请使用“放大更新api

  • 引用自C Primer 如果我们显式地要求编译器使用生成移动操作,并且编译器无法移动所有成员,那么移动操作将被定义为删除 如果类有一个定义自己的复制构造函数的成员,但不定义移动构造函数,或者如果类有一个不定义自己的复制操作的成员,并且编译器无法合成,则移动构造函数被定义为删除移动构造函数 有些代码似乎违反了这条规则: X没有定义移动构造函数,编译器不能为它合成一个。 根据上述规则,的移动构造函数被

  • EMF使用空的/“super()”构造函数生成类。我的问题是,是否可以说特定类的构造函数必须包含某些代码行?例如,用UUID初始化类的标识符属性?