OpenAPI 生成器 typescript-axios 更改 属性 名称,并且无法将日期作为字符串传递

OpenAPI generator typescript-axios changes property name, and can't pass dates as strings

我正在使用开放式 api 生成器工具生成代码,以生成 typescript-axios 客户端,但不幸的是,我 运行 遇到了一些问题。

  1. 我们从 long 生成的打开的 api 文档中有一个 属性。但是,它生成的界面将 属性 更改为 _long,这是不正确的。我在执行此操作的胡子模板中找不到任何地方,因此它必须发生在 CLI 层中。可以防止这种行为吗?

Swagger 属性 定义:

"long": {
  "type": "number",
  "description": "The longitude location.",
  "format": "double",
  "nullable": true
}

Codegen接口属性输出:

/**
 * The longitude location.
 * @type {number}
 * @memberof ...
 */
_long?: number | null;
  1. 日期作为字符串传递给 API 并在开放的 api 文档中这样定义,但似乎当它们具有 date-time 格式时,界面会这样说需要一个 Date 对象。这在我们的情况下并不理想,但这似乎又发生在 CLI 级别,因此我无法通过修改 mustache 模板来阻止这种行为。

Swagger 属性 定义:

"startDate": {
  "type": "string",
  "description": "Gets or sets the start date of the search date range.",
  "format": "date-time",
  "nullable": true
},

Codegen接口属性输出:

/**
 * Gets or sets the start date of the search date range.
 * @type {Date}
 * @memberof ...
 */
startDate?: Date | null;

在此先感谢您的帮助!

您可以将 type-mappings 传递给 CLI:

java -jar openapi-generator-4.2.3.jar generate --type-mappings DateTime=string 等..

这会将 Date 类型转换为字符串。问题是在模式定义中定义 date 还是 date-time 并不重要。您现在只能获得string