Json post int类型始终为0

时间:2017-07-18 18:08:05

标签: c# asp.net-core .net-core

[HttpPost("method")]
public string Method(int number)
{
    return number.ToString();
}

为什么数字始终为0?

可以使用像这样的原始类型的json post吗?

我的帖子:{“number”:3}

2 个答案:

答案 0 :(得分:2)

如果您发布{ "number" : 3 }等数据,则您的操作方法应为

public class Data
{
   public int Number {get; set;}
}

[HttpPost("method")]
public string Method([FromBody] Data data)
{
    return data.Number.ToString();
}

答案 1 :(得分:1)

public class NumberModel
{
    public int Number { get; set; }
}

[HttpPost("method")]
public IActionResult Method([FromBody] NumberModel model)
{
    return Ok(model.Number);
}

将自动格式化为Json。由于Number是一个整数,它将作为数字的字符串表示形式返回。如果你只是返回Ok(model),它将返回一个像{ 'Number' : 3 }

这样的json对象