Swagger 文档中的驼峰命名法
camelCase in Swagger documentation
是否可以在 Swagger 文档中将 属性 名称更改为驼峰式命名?我正在使用 .NET Core 2.2 和 Swashbuckle.AspNetCore 5.2.1。
我尝试在 Startup.cs 中使用 DescribeAllParametersInCamelCase() 方法,但没有任何改变。
求助!
我的模特:
{
public int MyProperty1 { get; set; }
public int MyProperty2 { get; set; }
public int MyProperty3 { get; set; }
}
和在POST方法中为其生成的swagger.json:
"components": {
"schemas": {
"TestModel": {
"type": "object",
"properties": {
"MyProperty1": {
"type": "integer",
"format": "int32"
},
"MyProperty2": {
"type": "integer",
"format": "int32"
},
"MyProperty3": {
"type": "integer",
"format": "int32"
}
}
}
}
}
如何更改为:
"components": {
"schemas": {
"testModel": {
"type": "object",
"properties": {
"myProperty1": {
"type": "integer",
"format": "int32"
},
"myProperty2": {
"type": "integer",
"format": "int32"
},
"myProperty3": {
"type": "integer",
"format": "int32"
}
}
}
}
}
?
我遇到了同样的问题,这是我的解决方法:
我实现了一个执行以下操作的自定义过滤器 (ISchemaFilter)
public class CamelCasingPropertiesFilter : ISchemaFilter {
public void Apply(OpenApiSchema model, SchemaFilterContext context)
{
model.Properties =
model.Properties.ToDictionary(d => d.Key.Substring(0, 1).ToLower() + d.Key.Substring(1), d => d.Value);
}
}
也许有更可靠的解决方案我不知道。这件事很重要,因为 openapi 定义是生成 api 客户端的基础。 openapi 生成器将使用 PascalCase 属性 名称构建 类,这将在使用时由 api 抛出 ...
希望对您有所帮助!
是否可以在 Swagger 文档中将 属性 名称更改为驼峰式命名?我正在使用 .NET Core 2.2 和 Swashbuckle.AspNetCore 5.2.1。 我尝试在 Startup.cs 中使用 DescribeAllParametersInCamelCase() 方法,但没有任何改变。 求助!
我的模特:
{
public int MyProperty1 { get; set; }
public int MyProperty2 { get; set; }
public int MyProperty3 { get; set; }
}
和在POST方法中为其生成的swagger.json:
"components": {
"schemas": {
"TestModel": {
"type": "object",
"properties": {
"MyProperty1": {
"type": "integer",
"format": "int32"
},
"MyProperty2": {
"type": "integer",
"format": "int32"
},
"MyProperty3": {
"type": "integer",
"format": "int32"
}
}
}
}
}
如何更改为:
"components": {
"schemas": {
"testModel": {
"type": "object",
"properties": {
"myProperty1": {
"type": "integer",
"format": "int32"
},
"myProperty2": {
"type": "integer",
"format": "int32"
},
"myProperty3": {
"type": "integer",
"format": "int32"
}
}
}
}
}
?
我遇到了同样的问题,这是我的解决方法:
我实现了一个执行以下操作的自定义过滤器 (ISchemaFilter)
public class CamelCasingPropertiesFilter : ISchemaFilter {
public void Apply(OpenApiSchema model, SchemaFilterContext context)
{
model.Properties =
model.Properties.ToDictionary(d => d.Key.Substring(0, 1).ToLower() + d.Key.Substring(1), d => d.Value);
}
}
也许有更可靠的解决方案我不知道。这件事很重要,因为 openapi 定义是生成 api 客户端的基础。 openapi 生成器将使用 PascalCase 属性 名称构建 类,这将在使用时由 api 抛出 ...
希望对您有所帮助!