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

C# Web API用Postman提交多条JSON数据时返回null如何解决

C# Web API POST提交多条JSON数据返回null的解决方法

问题根因

当前POST接口仅定义了接收单个studTB实体类型的参数:

[HttpPost]
public IEnumerable<studTB> Post([FromBody] studTB stud)

当传入多条数据的JSON数组时,模型绑定器无法将数组结构匹配到单个实体对象,就会导致参数绑定结果为null。

实现步骤

1. 修改接口入参支持集合类型

将POST方法的入参改为集合类型,即可直接接收JSON数组格式的多条数据,完整参考代码:

[HttpPost]
public IEnumerable<studTB> Post([FromBody] List<studTB> students)
{
    // 非空校验
    if (students == null || students.Count == 0)
    {
        return BadRequest("提交的数据不能为空");
    }

    // 如果需要将数据存入数据库,补充EF持久化逻辑
    using (StudentEntities db = new StudentEntities())
    {
        db.studTBs.AddRange(students);
        db.SaveChanges();
    }

    // 返回提交成功的数据
    return students;
}

2. Postman正确提交JSON的配置

  • 请求方法选择POST,填写对应接口地址
  • 在Headers中添加配置:Content-Type: application/json
  • 切换到Body栏,选择raw类型,右侧格式下拉选择JSON,在编辑区输入数组格式的请求体,示例:
[
    {
        "StudId": 1,
        "StudName": "张三",
        "StudAge": 20,
        "ClassName": "计算机科学与技术1班"
    },
    {
        "StudId": 2,
        "StudName": "李四",
        "StudAge": 21,
        "ClassName": "计算机科学与技术2班"
    }
]

注意:JSON中的字段名必须和studTB实体的公共属性名拼写一致(默认大小写不敏感),否则会出现对应字段绑定为null的问题。

3. 常见绑定失败排查点

  • 不要给JSON数组额外包裹一层对象结构(比如写成{"list": [xxx,xxx]}),除非你自定义了对应的外层接收模型
  • 确认studTB实体的属性拥有public级别的get/set访问器,且存在无参构造函数
  • 确认接口路由配置正确,请求地址没有写错,没有被其他接口拦截

内容的提问来源于stack exchange,提问作者Sudharshan S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:24:56