【问题标题】:Why value of a string variable is passed null in a post method of web api C#为什么在 web api C# 的 post 方法中将字符串变量的值传递为 null
【发布时间】:2020-01-04 16:27:01
【问题描述】:

下面是我的post web api方法。

public void Post([FromBody]string name)
{

}

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

【问题讨论】:

  • 尝试使用对象而不是字符串,因为您将其作为对象发送
  • @H.Pauwelyn 感谢它的工作,是否有任何具体原因导致字符串无法正常工作?
  • 您将其作为对象而不是字符串发送。

标签: c# asp.net-web-api asp.net-web-api2


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多