我正在使用开放的 api 生成器工具进行代码生成以生成typescript-axios
客户端,但不幸的是,我遇到了几个问题。
- 我们正在从中生成的开放 api 文档中有一个名为
long
的属性。 但是,它生成的接口将该属性更改为不正确的_long
。 我在胡子模板中找不到正在执行此操作的任何地方,因此它必须发生在 CLI 层中。 可以防止这种行为吗?
招摇属性定义:
"long": {
"type": "number",
"description": "The longitude location.",
"format": "double",
"nullable": true
}
代码生成接口属性输出:
/**
* The longitude location.
* @type {number}
* @memberof ...
*/
_long?: number | null;
- 日期作为字符串传递给 API,并在开放的 api 文档中定义,但似乎当它们具有
date-time
格式时,接口说它需要一个Date
对象。 这在我们的情况下并不理想,但这似乎再次发生在 CLI 级别,所以我无法通过修改胡须模板来防止这种行为。
招摇属性定义:
"startDate": {
"type": "string",
"description": "Gets or sets the start date of the search date range.",
"format": "date-time",
"nullable": true
},
代码生成接口属性输出:
/**
* 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
。