为什么字符串变量的值在 Web api C# 的 post 方法中传递为 null

Why value of a string variable is passed null in a post method of web api C#

下面是我的 post 网络 api 方法。

public void Post([FromBody]string name)
{

}

当我尝试从 Postman 向此方法发送请求时,字符串变量名称的值始终为空。下面是Postman的截图。

原因是您发送的对象是字符串作为字段,而不是字符串本身。 在这里,您只需向 post 方法发送一个值(不带括号和字段名称)。

您还可以更改代码中的对象类型

public string Post([FromBody]PostObject postObj)
{
    return $"Hello, {postObj.Name}!";
}

public class PostObject 
{
    [JsonProperty("name")]
    public string Name { get; set; }
}

通过这种方式,您可以发送比仅发送一个字符串更多的内容,而您的 Postman 调用不会改变。