我在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显示输入输出参数?
下面是一个例子。
试着在后面添加这行 .AddNewtonsoftJson(...)
:
.AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null).