我已经分叉了 openAPI 生成器,旨在调整
Swift5ClientCodegen
。到目前为止,我已经成功修改了一些方法来更改某些类和属性名称的格式。例如,如果属性是“imageUrl”,那么它将被格式化为“imageURL”。
我还想介绍一种方法(也许是方法,但不确定这是否是最好的方法)来提供一些可在胡子模板中使用的值。
其中一个值需要确定是否有任何属性被转义,以便可以像这样使用:
...
{{#hasEscapedPropertyNames}}
// MARK: - Decodable
extension {{{classname}}}: Decodable {
private enum CodingKeys: {{#hasVars}}String, {{/hasVars}}CodingKey {
{{#allVars}}
case {{{name}}}{{#vendorExtensions.x-codegen-escaped-property-name}} = "{{{baseName}}}"{{/vendorExtensions.x-codegen-escaped-property-name}}
{{/allVars}}
}
}
{{/hasEscapedPropertyNames}}
我的问题是:
我对该项目有非常基本的了解,如果有些内容没有意义,我深表歉意
显然,在
Swift5ClientCodegen
第 1127 行添加了 x-codegen-has-escaped-property-names
来指定是否存在转义的属性名称。
因此您可以使用以下内容修改 Mustache 文件
...
{{#vendorExtensions.x-codegen-has-escaped-property-names}}
// MARK: - Decodable
extension {{{classname}}}: Decodable {
private enum CodingKeys: {{#hasVars}}String, {{/hasVars}}CodingKey {
{{#allVars}}
case {{{name}}}{{#vendorExtensions.x-codegen-escaped-property-name}} = "{{{baseName}}}"{{/vendorExtensions.x-codegen-escaped-property-name}}
{{/allVars}}
}
}
{{/vendorExtensions.x-codegen-has-escaped-property-names}}
...