Swagger UI 显示驼峰式参数而不是 PascalCase
Swagger UI shows camelCase parameters instead of PascalCase
我在 Asp.Net Core 3.1 API 中使用 NewtonSoft.json 和 Swashbuckle.AspNetCore 版本 5.3.3。
在Asp.NetWeb中默认[=42=],2输入输出参数大小写为PascalCase。
现在我正在迁移到 .Net Core API,其中默认大小写是驼峰式。
所以我通过在 Startup.cs 中添加以下代码将其更改为使用 PascalCase:
services.AddControllers()
.ConfigureApiBehaviorOptions(options =>
{
options.SuppressModelStateInvalidFilter = true;
})
.AddNewtonsoftJson(options =>
{
// Use the default property (Pascal) casing
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});//Configure Newtonsoft as JSON serializer.
但在 Swagger UI 中,它以驼峰式显示输入和输出参数,而 API 的响应包含 PascalCase 的值。
我用谷歌搜索,但在 AddSwaggerGen DescribeAllParametersInCamelCase() 中找到了一个方法,它将所有参数转换为驼峰命名法。
有DescribeAllParametersInPascalCase()方法吗?
如何配置 Swagger/Swashbuckle 以在 PascalCase 中显示 input/output 参数?
这是一个例子:
您可以像这样配置 JsonSerializerOptions:
.AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null)
如果您仍在 Asp.Net Core 3.1 中使用 Newtonsoft.Json
而不是新的默认 System.Text.Json
.
通过以下方式为 Asp.Net Core 3.1 配置 Newtonsoft 后:
services.AddControllers().AddNewtonsoftJson(x => {
// My config is Pascal Case
x.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
您还需要安装 Swashbuckle.AspNetCore.Newtonsoft
并通过在 services.AddSwaggerGen(...
之后添加以下内容来选择加入:
services.AddSwaggerGenNewtonsoftSupport();
我在 Asp.Net Core 3.1 API 中使用 NewtonSoft.json 和 Swashbuckle.AspNetCore 版本 5.3.3。
在Asp.NetWeb中默认[=42=],2输入输出参数大小写为PascalCase。
现在我正在迁移到 .Net Core API,其中默认大小写是驼峰式。
所以我通过在 Startup.cs 中添加以下代码将其更改为使用 PascalCase:
services.AddControllers()
.ConfigureApiBehaviorOptions(options =>
{
options.SuppressModelStateInvalidFilter = true;
})
.AddNewtonsoftJson(options =>
{
// Use the default property (Pascal) casing
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});//Configure Newtonsoft as JSON serializer.
但在 Swagger UI 中,它以驼峰式显示输入和输出参数,而 API 的响应包含 PascalCase 的值。
我用谷歌搜索,但在 AddSwaggerGen DescribeAllParametersInCamelCase() 中找到了一个方法,它将所有参数转换为驼峰命名法。
有DescribeAllParametersInPascalCase()方法吗?
如何配置 Swagger/Swashbuckle 以在 PascalCase 中显示 input/output 参数?
这是一个例子:
您可以像这样配置 JsonSerializerOptions:
.AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null)
如果您仍在 Asp.Net Core 3.1 中使用 Newtonsoft.Json
而不是新的默认 System.Text.Json
.
通过以下方式为 Asp.Net Core 3.1 配置 Newtonsoft 后:
services.AddControllers().AddNewtonsoftJson(x => {
// My config is Pascal Case
x.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
您还需要安装 Swashbuckle.AspNetCore.Newtonsoft
并通过在 services.AddSwaggerGen(...
之后添加以下内容来选择加入:
services.AddSwaggerGenNewtonsoftSupport();