我正在构建一个自定义生成器,用于为Angular应用程序生成TypeScript / Angular模型。 作为起点,我从https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java复制了代码。
我正在尝试找出如何防止生成器生成"AllOf"并从"AllOf"模型扩展模型。
生成器已经生成了一个包含其所需所有内容的模型,无需从*AllOf进行扩展。
我已经能够修改.java文件,以防止导入以"AllOf"结尾的类,但我找不到任何文档或示例来限制从以"AllOf"结尾的类进行扩展。
我有什么遗漏吗? 看起来应该有一种方法告诉生成器不要导入或创建"AllOf"类。
这是我的modelGeneric.mustache模板:
以下是相关模式示例:
我正在尝试找出如何防止生成器生成"AllOf"并从"AllOf"模型扩展模型。
生成器已经生成了一个包含其所需所有内容的模型,无需从*AllOf进行扩展。
我已经能够修改.java文件,以防止导入以"AllOf"结尾的类,但我找不到任何文档或示例来限制从以"AllOf"结尾的类进行扩展。
我有什么遗漏吗? 看起来应该有一种方法告诉生成器不要导入或创建"AllOf"类。
// what I get:
import { ValidatePassword } from './validate-password.model';
export interface ChangePassword extends ChangePasswordAllOf, ValidatePassword {
...
}
// what I want
import { ValidatePasswordModel } from './validate-password.model';
export interface ChangePassword extends ValidatePassword {
...
}
这是我的modelGeneric.mustache模板:
export interface {{classname}}{{#allOf}}{{#-first}} extends {{/-first}}{{{.}}}{{^-last}}, {{/-last}}{{/allOf}} { {{>modelGenericAdditionalProperties}}
{{#vars}}
{{#description}}
/**
* {{{.}}}
*/
{{/description}}
{{#isReadOnly}}readonly {{/isReadOnly}}{{{name}}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}};
{{/vars}}
}{{>modelGenericEnums}}
以下是相关模式示例:
...
"ChangePassword": {
"allOf": [
{
"$ref": "#/components/schemas/ValidatePassword"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"OldPassword"
],
"properties": {
"OldPassword": {
"title": "Current password",
"type": "string",
"minLength": 1
}
}
}
]
},
...