[FromBody]会不会从参数中保存我永远不为空?

时间:2018-03-19 15:26:25

标签: c# asp.net-core asp.net-core-2.0

public async Task<IActionResult> Method(string value, [FromBody] Person person)

这里可以person为空吗?

更新:忘了提及person对象有一个标有[Required]属性的属性,并且我接收A non-empty request body is required

2 个答案:

答案 0 :(得分:4)

它仍然可以为null。例如,如果你的人有一个int Age参数,并且你以某种方式将一个字符串传递给它并且不解析为整数,那么它将为null。

答案 1 :(得分:3)

是的,当然可以。如果没有提交人员财产,则该财产将为空。如果动作参数类具有绑定到它的内容,则模型绑定器仅实例化动作参数类的实例。如果没有要绑定的内容(因为没有发布任何内容或发布的值无效(例如,为int提交空字符串),则参数将为null。