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

如何在Postman中以JSON为请求体发送POST请求调用Web API接口

问题原因与解决方案

原因

ASP.NET Web API 有默认的参数绑定规则:对于 string、int 这类简单类型的参数,默认只会从查询字符串、路由数据中取值,不会主动解析请求体里的JSON内容。你直接传JSON请求体时,框架找不到匹配的Action方法,就会返回404资源未找到错误。

可行解决方案

方案1:创建参数模型类(最推荐的规范做法)

先定义一个用于接收JSON参数的模型类:

public class PostRequest
{
    public string x1 { get; set; }
    public string x2 { get; set; }
}

修改控制器的Action代码,给参数标记 [FromBody] 特性,告诉框架从请求体里读取内容绑定到模型:

[HttpPost]
public void Post([FromBody] PostRequest request) 
{
    Debug.WriteLine("POST resource called (" + request.x1 + ", " + request.x2 + ")." );
}

方案2:用JObject接收动态JSON(无需新建模型类)

如果不想单独建模型类,可以直接用Newtonsoft.Json的JObject接收请求体,需要先确保项目已引用Newtonsoft.Json包:

using Newtonsoft.Json.Linq;

[HttpPost]
public void Post([FromBody] JObject requestBody) 
{
    string x1 = requestBody["x1"]?.ToString();
    string x2 = requestBody["x2"]?.ToString();
    Debug.WriteLine("POST resource called (" + x1 + ", " + x2 + ")." );
}

Postman配置注意事项

  • 请求头需要添加 Content-Type: application/json,确保框架识别请求体为JSON格式
  • Body 选择 raw 类型,格式下拉选 JSON,再粘贴你的JSON请求内容即可正常调用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:36:07