博主 本人在项目中 使用雪花Id 当做主键Id 但是在使用中 遇到 浮点类型丢失精度问题 解决方式很简单
public class CustomContractResolver : CamelCasePropertyNamesContractResolver
{
/// <summary>
/// 对长整型做处理
/// </summary>
/// <param name="objectType"></param>
/// <returns></returns>
protected override JsonConverter ResolveContractConverter(Type objectType)
{
if (objectType == typeof(long))
{
return new JsonConverterLong();
}
return base.ResolveContractConverter(objectType);
}
}
Startup 下 需要 安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson
services.AddControllers()
.AddNewtonsoftJson(options =>
{
//设置时间格式
options.SerializerSettings.DateFormatString = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
options.SerializerSettings.ContractResolver = new CustomContractResolver();
});