.NET CORE3.1 WEBAPI项目关于接口返回值和SWAGGER文档中参数首字母被转换成小写的解决方案。

 可以在StartUp.cs的ConfigureServices方法中添加

1.解决输入输出参数首字母变小写的问题。

services.AddNewtonsoftJson(options =>
{
//忽略循环引用
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
//不使用驼峰样式的key
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
//设置时间格式
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
});

  

2、解决文档中样例参数说明中参数首字母变小写的问题。

services.AddControllers().AddJsonOptions(config =>
{
config.JsonSerializerOptions.PropertyNamingPolicy = null;
});

  我在实际项目中的使用:

 services.AddControllers(options =>
            {
                options.ModelMetadataDetailsProviders.Add(new ModelBindingMetadataProvider());
            }).AddNewtonsoftJson(options =>
            {
                // 返回数据首字母不小写,CamelCasePropertyNamesContractResolver是小写
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
            });
            //解决文档中首字母被小写的问题
            services.AddControllers().AddJsonOptions(config =>
            {
                config.JsonSerializerOptions.PropertyNamingPolicy = null;
            }); ;

  参考:https://www.cnblogs.com/yjh580/archive/2004/01/13/14048207.html

原文地址:https://www.cnblogs.com/huangshuqiang/p/14304650.html