小编joh*_*ohn的帖子

来自正文(布尔值)错误的 ASP.NET Web API 2 原始类型

我有一个动作

[HttpPatch]
public IHttpActionResult foo(int id, [FromBody]bool boolVariable)
{
 return Ok();
}
Run Code Online (Sandbox Code Playgroud)

我仍在调试,当我尝试用 Postman 发送一些数据时,我收到一个奇怪的错误

"Message": "请求无效。", "MessageDetail": "参数字典包含一个非空类型 'System.Boolean' 的参数 'boolVariable' 的空条目,用于方法 'System.Web.Http.IHttpActionResult foo (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();
}
Run Code Online (Sandbox Code Playgroud)

但是它困扰着我,为什么它不从 json 的主体中绑定变量?我在动作参数中指定 [FromBody] ...

api asp.net-web-api asp.net-web-api2 webapi2

4
推荐指数
1
解决办法
4421
查看次数

标签 统计

api ×1

asp.net-web-api ×1

asp.net-web-api2 ×1

webapi2 ×1