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

ASP.NET Core 8 Web API无法接收application/json请求体问题求助

ASP.NET Core 8 Web API无法接收JSON请求体的排查与解决

核心问题

你的API方法参数未添加[FromBody]特性,ASP.NET Core默认不会自动从JSON请求体绑定复杂类型参数,导致LoginRequest始终无法被赋值。

修复方案

直接修改API方法,为参数添加[FromBody]特性:

[HttpPost]
public HttpResponseMessage Login([FromBody] LoginRequest loginRequest)
{
    // ... 原有业务逻辑
}

额外排查验证步骤

  • 确认Postman请求的Content-Type严格设置为application/json,避免误设为text/plain或其他类型
  • 检查JSON请求体格式:字段名需与LoginRequest类的属性名匹配(默认区分大小写,若需忽略可在Program.cs中配置):
    builder.Services.AddControllers()
        .AddJsonOptions(options =>
        {
            options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;
        });
    
  • 验证请求体无语法错误,比如引号缺失、逗号使用不当等
  • 可选:在方法内添加模型验证,快速定位绑定问题:
    [HttpPost]
    public HttpResponseMessage Login([FromBody] LoginRequest loginRequest)
    {
        if (!ModelState.IsValid)
        {
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
        }
        // ... 原有业务逻辑
    }
    

内容的提问来源于stack exchange,提问作者Manar Al-Zabadani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:02:03