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

Postman中POST请求无法调用.Net Core接口问题求助

解决Postman发送POST请求到.NET Core控制器时的400/415错误

刚接触Postman和.NET Core的话,遇到POST请求的400/415错误确实挺常见的,我来帮你一步步排查解决:

先搞懂错误背后的原因

  • 415错误:服务器不支持你发送的请求媒体类型,说白了就是你发的请求格式和服务器期望的对不上
  • 400错误:请求本身格式有问题,或者服务器没法把请求内容绑定到你的Order模型上

第一步:给控制器Action加[FromBody]特性

这是新手最容易忽略的点!.NET Core默认对于复杂类型(比如你的Order类),需要显式指定从请求体中获取数据,否则框架可能会尝试从其他地方(比如URL参数)绑定,导致失败。修改你的控制器代码:

[HttpPost]
public IActionResult Post([FromBody] Order model) 
{ 
    return Ok(); 
}

第二步:Postman的正确配置

别手动加Content-Type头,Postman会帮你自动处理:

  • 切换到请求的Body标签页
  • 选择raw选项,然后在右侧的下拉菜单里选JSON(这时候Postman会自动添加Content-Type: application/json请求头)
  • 在编辑框里输入和Order类结构完全匹配的JSON数据,注意属性名的大小写!.NET Core默认用camelCase序列化,比如你的Order类有Id、ProductName属性,JSON应该写成:
    {
        "id": 1,
        "productName": "测试商品"
    }
    

第三步:排查模型绑定失败的细节

如果还是返回400,大概率是JSON格式错误或者模型验证没通过。你可以修改控制器代码,返回具体的验证错误信息,方便排查:

[HttpPost]
public IActionResult Post([FromBody] Order model) 
{ 
    if (!ModelState.IsValid)
    {
        // 返回详细的验证错误,Postman里能看到具体哪个字段出问题
        return BadRequest(ModelState);
    }
    return Ok(); 
}

第四步:确认Order类的可访问性

最后检查你的Order类是不是public的,而且需要绑定的属性有没有public的getter和setter,比如:

public class Order
{
    public int Id { get; set; }
    public string ProductName { get; set; }
    public decimal Price { get; set; }
}

按这个步骤走下来,应该就能解决你的POST请求问题了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 11:34:09