在 swagger-codegen 中更改生成的数据模型的名称 属性
Changing the name of a generated data model property in swagger-codegen
我正在使用 swagger-codegen 生成数据模型。模板
/// <summary>
/// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}}
/// </summary>{{#description}}
/// <value>{{description}}</value>{{/description}}
[JsonProperty("{{baseName}}")]
public {{{datatype}}} {{name}} { get; {{#isReadOnly}}private {{/isReadOnly}}set; }
生成
/// <summary>
/// Description of property.
/// </summary>
/// <value>Description of property.</value>
[JsonProperty("property_name")]
public String property_name { get; set; }
如何将 property name
的大小写从 snake_case 更改为 PascalCase?我想我必须对 {{name}}
进行某种转换,但我对车把模板不是很熟悉。
/// <summary>
/// Description of property.
/// </summary>
/// <value>Description of property.</value>
[JsonProperty("property_name")]
public String PropertyName { get; set; }
我不知道 Swagger Codegen 中是否内置了任何东西,但是使用 handlebars.net,您可以 register a helper 将字符串转换为 PascalCase:
Handlebars.RegisterHelper("PascalCase", (writer, context, parameters) => {
// paramaters[0] should be name, convert it to PascalCase here
});
我的 C# 已经满是灰尘,我不记得是否有内置的 PascalCasing 字符串方式,但如果没有,应该不会太难。
然后从您的模板中调用它:
public {{{datatype}}} {{PascalCase name}} ...
编辑:看起来像 Swagger Codegen uses jmustache under the hood, and from a quick glance, but I think you can do something similar with Lambdas
我正在使用 swagger-codegen 生成数据模型。模板
/// <summary>
/// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}}
/// </summary>{{#description}}
/// <value>{{description}}</value>{{/description}}
[JsonProperty("{{baseName}}")]
public {{{datatype}}} {{name}} { get; {{#isReadOnly}}private {{/isReadOnly}}set; }
生成
/// <summary>
/// Description of property.
/// </summary>
/// <value>Description of property.</value>
[JsonProperty("property_name")]
public String property_name { get; set; }
如何将 property name
的大小写从 snake_case 更改为 PascalCase?我想我必须对 {{name}}
进行某种转换,但我对车把模板不是很熟悉。
/// <summary>
/// Description of property.
/// </summary>
/// <value>Description of property.</value>
[JsonProperty("property_name")]
public String PropertyName { get; set; }
我不知道 Swagger Codegen 中是否内置了任何东西,但是使用 handlebars.net,您可以 register a helper 将字符串转换为 PascalCase:
Handlebars.RegisterHelper("PascalCase", (writer, context, parameters) => {
// paramaters[0] should be name, convert it to PascalCase here
});
我的 C# 已经满是灰尘,我不记得是否有内置的 PascalCasing 字符串方式,但如果没有,应该不会太难。
然后从您的模板中调用它:
public {{{datatype}}} {{PascalCase name}} ...
编辑:看起来像 Swagger Codegen uses jmustache under the hood, and from a quick glance, but I think you can do something similar with Lambdas