You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebAPI POST注册接口接收Model对象始终为NULL的问题求助

解决Web API POST方法接收Model为NULL的问题

我来帮你排查这个头疼的问题!这种情况我之前在项目里也碰到过,大概率是请求格式、Model绑定配置或者字段匹配的问题,咱们一步步来梳理:

1. 先检查Postman的请求头配置

Web API默认是通过JSON格式来绑定复杂Model的,所以你必须在Postman里设置正确的请求头:

  • 打开Postman的「Headers」标签,添加一条:
    • Key: Content-Type
    • Value: application/json
      如果没加这个,或者填成了form-data、x-www-form-urlencoded,Web API根本没法正确解析请求体里的内容,自然会得到null的Model。

2. 确认请求体JSON字段与Model属性完全匹配

你的EmployeeModel属性是EmpNumber、MobileNumber、IMEINumber,那Postman里的JSON请求体必须严格对应这些字段名(大小写敏感!):

{
  "EmpNumber": "E007",
  "MobileNumber": "13900139000",
  "IMEINumber": "987654321098765"
}

要是你JSON里写的是empnumber全小写,或者Emp_Number带下划线,都会导致绑定失败,Model直接为null。

3. 检查Model类的属性访问权限

确保你的EmployeeModel属性都有公共的get和set方法,比如:

public class EmployeeModel
{
    public string EmpNumber { get; set; }
    public string MobileNumber { get; set; }
    public string IMEINumber { get; set; }
}

如果属性只有get没有set,或者访问修饰符是private,Web API没法给属性赋值,Model肯定是null。

4. 给Action参数加上[FromBody]特性

在你的POST方法参数前加上[FromBody],明确告诉Web API从请求体里读取数据:

public HttpResponseMessage PostStudent([FromBody]EmployeeModel emp) 
{ 
    if (ModelState.IsValid) 
    { 
        using (HRMSEntities reg = new HRMSEntities()) 
        { 
            APIRegistration entities = new APIRegistration(); 
            entities.Emp_No = emp.EmpNumber; 
            entities.MobileNo = emp.MobileNumber; 
            entities.IMEINo = emp.IMEINumber; 
            // 你的后续代码
        }
    }
    // 其他逻辑
}

这个特性在Web API处理复杂类型参数时是必须的,尤其是POST请求。

5. 检查Web API的序列化配置(针对旧版ASP.NET Web API)

如果你用的是传统ASP.NET Web API(不是ASP.NET Core),确认WebApiConfig.cs里没有禁用JSON格式化:

public static void Register(HttpConfiguration config)
{
    // 移除XML格式化器,优先用JSON
    config.Formatters.Remove(config.Formatters.XmlFormatter);
    // 或者确保JSON格式化器支持正确的媒体类型
    config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
}

要是默认启用了XML格式化,而你的请求是JSON格式,也会导致绑定失败。

你可以按照上面的顺序逐一排查,大概率能解决Model为null的问题!

内容的提问来源于stack exchange,提问作者Rajaraman Sahasranaman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:17:28