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

ASP.NET Core Web API加法POST接口参数异常及415错误排查

问题解决方案

核心问题分析

  1. 使用[FromForm]时参数始终为0:接口声明从表单获取参数,但你通过Postman发送的是Raw JSON格式数据,两者绑定规则不匹配,导致模型绑定失败,int类型默认值为0,因此n1和n2始终返回0。
  2. 改为[FromBody]后返回415错误:存在两个关键问题——JSON字段名与模型属性名不匹配,以及Postman未正确设置请求头的Content-Type。

具体修复步骤

步骤1:修正模型绑定方式

将接口的[FromForm]改为[FromBody],匹配你要接收的JSON请求体格式:

using Microsoft.AspNetCore.Mvc;

namespace WebApi.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        [HttpPost("sum")]
        public ActionResult<int> Sum([FromBody] ToplamaModel model)
        {
            int sonuc = model.n1 + model.n2;
            return sonuc;
        }
    }

    public class ToplamaModel
    {
        public int n1 { get; set; }
        public int n2 { get; set; }
    }
}

步骤2:对齐JSON字段与模型属性

你的模型属性是n1和n2,但发送的JSON用了Sayi1和Sayi2,字段名不匹配会导致绑定失败。修改请求的JSON内容为:

{ "n1": 5, "n2": 3 }

步骤3:设置正确的请求头

在Postman的请求头中添加Content-Type,确保服务器识别请求体格式:

  • 切换到Postman的「Headers」标签
  • 添加键:Content-Type,值:application/json

可选:支持表单提交的场景

如果需要保留接收表单参数的能力,无需修改[FromForm],只需在Postman中切换到「Body」的form-data或x-www-form-urlencoded模式,添加n1和n2两个参数并填入对应数值即可。


内容的提问来源于stack exchange,提问作者Ozan Akkaşoğlu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:55:10