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

如何在Postman中发送多参数Post请求?C#控制器仅收默认值

解决ASP.NET Core控制器无法接收请求体多个参数的问题

问题原因

ASP.NET Core中,[FromBody]特性的参数只能声明一个——请求体的数据流仅能被读取一次,多个[FromBody]参数会导致后续参数无法完成绑定,最终只能拿到对应类型的默认值(int默认0,string默认null)。

解决方案

  1. 创建请求模型类
    将需要传递的参数封装到一个DTO(数据传输对象)类中:
public class RegisterRequest
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
  1. 修改控制器方法
    将控制器的Post方法改为接收这个模型类的实例:
using Microsoft.AspNetCore.Mvc;

namespace Server.Controllers;

[Route("api/[controller]")]
public class RegisterController : Controller
{
    
    [HttpPost]
    public IActionResult Post([FromBody] RegisterRequest request)
    {
        return Ok($"id : {request.Id}\nname : {request.Name}\nage : {request.Age}");
    }
}
  1. 调整Postman请求配置
    使用标准JSON格式传递参数,同时确保请求头设置Content-Type: application/json:
{
    "id": 10,
    "name": "sara",
    "age": 15
}

完成以上调整后,控制器即可正确接收请求体中的所有参数并返回预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:00:17