【2020.04.02】asp.net core 3.1 复杂类型模型绑定失败

最近把项目从2.1升级到3.1,遇到各种奇葩问题

话不多说,先说明显现象

1. startup关键代码

 然后项目中有一个controller-action如下

 对应的实体类型为:

 然后向该接口,发起对应的post请求,如下

 惊奇的发现居然模型绑定后为null

修复方式1:

将post的“int”类型的值,用双引号包起来

 然后就能绑定成功了

修复方式2:

用NewtonsoftJson来序列化

总结:

这个现象的本质问题应该是,新版本core下,用的序列化器System.Text.Json, 它里面应该在序列化方面可能(我没看源码,仅仅是通过现象猜测)显得更“严格”,不过按照以往的习惯,针对于上述我描述的现象,我们直观的期望是直接绑定成功的。

原文地址:https://www.cnblogs.com/eastpig/p/12617896.html