在 .NET 4.7.2 中,不可为 null 的字段不会在以下负载中产生错误。但是,升级到 .NET 8 后,现在会抛出错误
The JSON value could not be converted to System.Int32".
有效负载:
{
"Party": {
"Id": null
},
"Organization": {
"Id": 3
}
}
DTO
public class Invoice
{
public Party Party { get; set; }
public OrganizationParty Organization { get; set; }
}
public class Party
{
public int Id { get; set; }
}
public class OrganizationParty
{
public int Id { get; set; }
}
这是Program.cs
builder.Services.AddControllers(configure =>
{
configure.Filters.Add<ExceptionFilterAttribute>();
configure.AllowEmptyInputInBodyModelBinding = true;
}).AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null);
我们如何在.NET8中解决这个问题。