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

使用Postman向Web API提交POST数据失败,参数为null问题排查

问题原因及解决方案

这问题核心出在Postman发送的请求体格式和ASP.NET Web API接收单个字符串参数的规则不匹配上,咱们一步步拆解:

为什么会出现参数为null/Bad Request?

当你用[FromBody]修饰单个简单类型(比如string、int)的参数时,Web API的模型绑定有个特殊规则:它默认期望请求体是原始的带双引号字符串,或者是=你的内容这种格式,而不是常规的JSON对象或表单键值对。

你之前的请求肯定是用了不符合要求的格式(比如直接发Hello World不带引号,或者用JSON对象{"value": "xxx"}),导致模型绑定失败,value参数变成null,进而触发ModelState.IsValid为false,返回Bad Request。

两种快速解决方法

方法1:用Raw JSON格式发送带引号的字符串

  1. 在Postman里切换到Body标签,选择Raw选项
  2. 格式下拉框选择JSON
  3. 请求体内容填带双引号的字符串,比如:
    "你要提交的内容"
    
  4. 发送请求,这时候Web API就能正确把值绑定到value参数上了

方法2:用x-www-form-urlencoded格式

  1. 选择x-www-form-urlencoded选项
  2. 重点:Key输入框留空,只在Value里填你要发送的字符串(比如你要提交的内容)
  3. 发送请求,模型绑定会自动识别这个值

更规范的长期方案

如果以后需要传递的字段更多,建议直接用你的Data实体类作为参数,这样更直观,也不容易踩格式坑:

public IHttpActionResult Post([FromBody]Data data)
{
    if (!ModelState.IsValid)
        return BadRequest(ModelState); // 返回详细的错误信息,方便调试
    db.Datas.Add(data);
    db.SaveChanges();
    return Ok();
}

这时候在Postman里发送Raw JSON格式的对象即可:

{
    "Value": "你要提交的内容"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:44:07