Swagger用户界面显示camelCase参数,而不是PascalCase。

问题描述 投票:0回答:1

我在Asp.Net Core 3.1 API和Swashbuckle.AspNetCore 5.3.3版本中使用NewtonSoft.json。

在Asp.Net Web API中,2个输入和输出参数的默认情况是PascalCase。

现在我正在迁移到.Net Core API,其中默认的大小写是camelCase。

所以我在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()方法?

如何配置SwaggerSwashbuckle以PascalCase显示输入输出参数?

下面是一个例子。

enter image description here

asp.net-core swagger asp.net-core-webapi swashbuckle swashbuckle.aspnetcore
1个回答
3
投票

试着在后面添加这行 .AddNewtonsoftJson(...):

.AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null).
© www.soinside.com 2019 - 2024. All rights reserved.