我有一个动作
[HttpPatch]
public IHttpActionResult foo(int id, [FromBody]bool boolVariable)
{
return Ok();
}
我仍在调试,当我尝试使用 Postman 发送一些数据时,我收到了一个奇怪的错误
"Message": "请求无效。", "MessageDetail": "参数字典包含方法 'System.Web.Http.IHttpActionResult foo 的不可空类型 'System.Boolean' 的参数 'boolVariable' 的空条目(Int32, Boolean)' in 'ProjectName.Controllers.NameController'。可选参数必须是引用类型、可空类型或声明为可选参数。”
问题是它没有将 boolVariable 与我的 json 主体绑定...是的,我可以使用绑定模型轻松解决问题
public class FooBindModel
{
public bool boolVariable{ get; set; }
}
public IHttpActionResult foo(int id, FooBindModel bindModel)
{
return Ok();
}
但是它困扰着我,为什么它不从 json 的主体中绑定变量?我在动作参数中指定 [FromBody] ...