最近把项目从2.1升级到3.1,遇到各种奇葩问题
话不多说,先说明显现象
1. startup关键代码
然后项目中有一个controller-action如下
对应的实体类型为:
然后向该接口,发起对应的post请求,如下
惊奇的发现居然模型绑定后为null
修复方式1:
将post的“int”类型的值,用双引号包起来
然后就能绑定成功了
修复方式2:
用NewtonsoftJson来序列化
总结:
这个现象的本质问题应该是,新版本core下,用的序列化器System.Text.Json, 它里面应该在序列化方面可能(我没看源码,仅仅是通过现象猜测)显得更“严格”,不过按照以往的习惯,针对于上述我描述的现象,我们直观的期望是直接绑定成功的。