.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