gpt4 book ai didi

json - Swagger 文档中的驼峰命名法

转载 作者:行者123 更新时间:2023-12-04 14:15:07 27 4
gpt4 key购买 nike

是否可以在 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 抛出 ...

希望对您有所帮助!

关于json - Swagger 文档中的驼峰命名法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60954335/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com