问题标签 [openapi-generator-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 用于 java 的 openapi-generator-cli 以涵盖 openapi 定义中未涵盖的未知属性
我正在使用openapi-generator-cli.jar从openapi 定义 yaml 文件生成 java 模型类(我没有生成的调用客户端)。但真正的请求具有 yaml 定义未涵盖的其他属性。 有没有办法添加一些东西,最好是添加到生成器的配置中,以涵盖所有未知属性?
例如,一些属性/配置会添加到每个生成的模型类中,例如:
我知道打字稿生成器可以做到,但我需要 java 生成器中的这个功能。
openapi-generator - 如何使用 Openapi-generator 在模型中添加元信息
我的招摇文件的一部分是这样的:
在我调用 openapi-generator 之后,我想在打字稿模型中看到“maxlength”、“minLengs”等。
我已经阅读了 openapi-generator.tech 的文档,在论坛中进行了研究,并在 Slack 的内部开发聊天中提出了一个问题,但我没有答案。
有人可以建议如何做到这一点或告诉我是否有可能使用这个工具来达到这个目的?
javascript - 在 openapi-generator-cli 服务器存根上记录 http 请求而无需授权/令牌标头 express-winston
我正在尝试使用express-winston登录我的 nodejs-express-server 应用程序。此应用程序是从 openapi-generator-cli 创建的 openapi API 服务器存根。在记录请求时
指的是关于排除参数的这篇文章。我的目的是检测请求中的授权标头(“api_token”)并屏蔽其值。当我按原样记录请求时,在没有任何过滤的情况下,我在 JSON 格式化后看到大约 1000 多行的大量日志条目。我可以使用一些指针
- 屏蔽选定的标题(使用 express-winston 或任何其他库)
- 减少日志上的请求大小
这是我正在尝试的过滤器。代码如下。
express-winston 日志上的完整请求条目在此处共享。(注意:为了便于阅读,我将其格式化为 JSON)
asp.net - openapi-generator-cli:更改生成的方法名称
简单的问题,ASP.Net MVC 控制器/方法是:
CampaignController.CreateCampaign(...)
在最后运行 cmd 行以生成客户端代理时,接口/方法为:
ICampaignApi.CampaignCreateCampaign
基本上,看起来接口名称被添加到方法名称的开头。这有充分的理由吗?我更喜欢这个:ICampaignApi.CreateCampaign。这是一个坏主意吗?如果没有,现在我能得到这些结果吗?
PS 还有其他应用程序使用该服务,所以我想避免更改生成的实际 swagger 文件。
swagger - 如何在 OpenApi 中定义别名,最终在 Pojo 中使用
假设我在我的 openapi.yml 中有这个定义(这只是一个虚构的例子来描述我遇到的问题):
这将导致生成模型的代码,如下所示:
我的问题是我必须将此 Pojo 保存在数据库中并且不存在表Address
(假设它被调用Places
)并且邮政编码的列被调用zipcode
而不是zip
.
所以我需要两件事:
- 一种告诉 OpenAPI 别名
Address=Places
和zip=zipcode
. - 一种使此信息更改创建的代码的方法。例如,对于 Hibernate,这意味着在正确的位置添加
@Table(name="Places")
和@Column(name="zipcode")
。
重要说明:我无法更改 API,预计会坚持使用Address
和zip
.
这可以做到吗?我检查了规格以及 swagger-codegen 和 openapi-generator(我更喜欢后者),但没有发现任何迹象表明此类内容已被涵盖。对于 openapi-generator,我查看了Mustache 模板,据我所知,有节点代码引用了 yaml 文件中定义的任何“别名信息”。
我是否必须努力定义像这样或这样的OpenAPI扩展,并自己自定义模板?我能找到的最接近的是这个现有的扩展,它定义了一种别名。但这仅满足我要求的第一部分。
openapi-generator - `importMappings` 如何为 typescript-fetch 工作?
我正在处理的项目中有一个模型,我更愿意使用它而不是自动生成的模型。设置两者languageSpecificPrimitives
并按typeMappings
预期更改生成的代码。
但是,我只是无法让导入映射工作。也找不到任何关于如何使它们工作的文档。这是我用于 clibatch
命令的 yaml 文件,
的所有导入路径User
仍然是./
(指向生成代码的索引)。如何使用importMappings
指向我的模型?
elm - 在 elm 中使用两个不同的同名模块
我使用openapi-generator-cli为使用OpenAPI描述的 REST api 生成 elm 代码。
到目前为止,基本上这对我来说效果很好。但现在我不得不提出一个问题,即我想访问在单独的 OpenAPI 文档中描述的两个微服务。问题是,openapi-generator 为它为其生成接口的每个 REST API 生成一个Api
andApi.Data
模块。我已经检查了 openapi-generator 中的模板,但是这些模块名称是固定的,不能更改。
所以我想知道:是否有可能以某种方式在一个 elm 项目中使用两个包含具有相同名称的模块的包?任何其他想法如何在一个 elm 项目中使用两个单独的 API?
java - 在 OpenApi Generator 中跳过/选择媒体类型
运行 OpenApi 生成器时是否可以跳过某些媒体类型或选择特定媒体类型?
外部 API 有一个 API 描述,用于对各种媒体类型的响应进行编码:
在上面的示例中,application/json
和application/ld+json
是定义的,但我们的源包含更多。这些额外的媒体类型会导致生成大量代码,但更糟糕的是,生成的代码使用 Java 和 Kotlin 生成器都会被破坏并且无法编译。当我手动删除额外的媒体类型时,生成的代码量会减少 3 倍并进行编译。
我宁愿不编辑该文件,因为每次上游 API 更改时我们都必须重复该过程。但是,即使我们通过预处理器以编程方式进行,选择我们想要通信的媒体类型听起来像是一个非常基本的功能,所以我假设我根本无法找到它?