首页 > 解决方案 > asp.net web api 2 控制器的模型映射

问题描述

一个小的测试代码。

        //web api 2 controller 
   
        [HttpPost]
        [Route("api/test")]
        public IHttpActionResult Test(Person request)
        {
            var name = request.name;
            var age = request.age;

            return Json("ok");
        }
    }

    //model
    [Serializable] 
    public class Person 
    {
        public string name { get; set; }
        public int age { get; set; }
    }

我只是在 POST 请求中发送 json 模型

{
    "name": "mike", 
    "age": 12  
}

如果模型 Person 具有 [Serializable] 属性,为什么该代码不起作用(模型为空)?如果我删除它开始工作。问题是我必须使用那些现有的模型,我不明白为什么 asp.net 停止映射它们?我通过 POST 请求发送的 JSON 模型是否必须以另一种方式格式化?

标签: asp.netapiasp.net-web-api2

解决方案


推荐阅读