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

ASP.NET Core Web API无法接收JSON值问题求助(新手)

解决ASP.NET Core Web API无法接收Postman JSON数据的问题

Hey there, let's work through why your Web API isn't picking up the JSON data from Postman. I've looked over your code, and here are the key fixes you need to apply:

1. 添加 [FromBody] 特性绑定请求体数据

ASP.NET Core需要明确指令才能从请求体读取复杂类型(比如你的Student类)。没有这个特性,它不会把JSON负载映射到你的Student参数上。更新你的控制器方法如下:

[HttpPost]
public Student Save([FromBody] Student s)
{
    return _student.Save(s);
}

这是最常见的问题根源——千万别跳过这一步!

2. 检查Postman的请求配置

就算代码改对了,Postman也得正确发送请求才行。跟着这些步骤来:

  • 请求方法设为POST,并使用正确的URL(比如https://localhost:5001/api/Home/Save——根据你的本地服务器端口调整)。
  • 切换到Body标签,选择raw,然后把格式下拉框设为JSON。
  • 添加Content-Type请求头,值设为application/json(这个告诉API要把请求体解析成JSON,很容易漏掉!)。
  • 发送和Student类结构匹配的JSON数据,示例如下:
    {
        "name": "Alice Smith",
        "cgpa": 3.9
    }
    
    注意:如果你的ID是数据库自动生成的主键,JSON里不需要包含它——后端会自动处理。

3. 确认路由地址正确

你的控制器用了路由模板[Route("api/[controller]/[action]")],所以完整的接口URL应该是api/Home/Save(因为你的控制器是HomeController,动作方法是Save)。仔细检查Postman里的路径有没有拼写错误——这里出错会导致请求静默失败或者返回404。

4. 验证JSON属性匹配

ASP.NET Core默认的JSON序列化器会把驼峰式的JSON键(比如"name")映射到帕斯卡命名的类属性(比如Name),所以你的负载格式是对的。只要确保属性名没有拼写错误就行(比如别把"cgpa"写成"cgpaa")。

把这些修改都做完之后,再重新发送请求——你的API应该就能正确接收Student数据了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:53:46