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

ASP.NET Core 5 Web API如何绑定请求体中的简单类型?

问题原因&解决方案

你遇到的问题是因为ASP.NET Core的[FromBody]绑定简单类型时,默认只认原始的JSON值,而不是带属性的JSON对象。你现在发的{"value":"testValue"}是一个JSON对象,和string类型不匹配,所以绑定失败。

下面给你两种不用创建复杂类型的解决办法:

方法1:直接发送字符串值

在PostMan里保持raw > JSON,但不要传对象,直接写带双引号的字符串:

"testValue"

这样[FromBody] string value就能直接拿到testValue。

方法2:接收JSON对象并提取值

如果一定要传{"value":"testValue"}这种格式,不用创建实体类,可通过以下几种方式提取值:

用JObject(需要Newtonsoft.Json包)

using Newtonsoft.Json.Linq;

public IActionResult Test([FromBody] JObject requestData)
{
    string value = requestData["value"]?.ToString();
    // 后续逻辑
}

用dynamic

public IActionResult Test([FromBody] dynamic requestData)
{
    string value = requestData.value;
    // 后续逻辑
}

用System.Text.Json的JsonElement(.NET Core 3.0+ 默认支持)

using System.Text.Json;

public IActionResult Test([FromBody] JsonElement requestData)
{
    requestData.TryGetProperty("value", out JsonElement valueElement);
    string value = valueElement.GetString();
    // 后续逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:09:21