如果你也是和我一样将项目从.net core2.X 升级到3.X,我这就劝你放弃,差异太大,改不完的bug,尤其很多插件,可能是3.x太新。还没有或者是,根本不需要,总之升级之后,你会发现打出都要改,最后我决定,还是用以前的版本,没有插件的地方就自己写好了
现在记录一下 遇到的几个问题:
1、前端返回的格式被修改为小驼峰格式
解决办法:
services.AddControllers().AddNewtonsoftJson(); services.PostConfigure<MvcNewtonsoftJsonOptions>(options => { options.SerializerSettings.ContractResolver = new MyCustomContractResolver(); }); services.Configure<MvcNewtonsoftJsonOptions>(options => { options.SerializerSettings.ContractResolver = new MyCustomContractResolver(); });
一定要都加上,不然,你会发现有的请求返回的还是小驼峰格式。
MyCustomContractResolver的代码为:
public class MyCustomContractResolver : AbpContractResolver { protected override void ModifyProperty(MemberInfo member, JsonProperty property) { if (property.PropertyType != typeof(DateTime) && property.PropertyType != typeof(DateTime?)) { return; } property.Converter = new AbpDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }; } }