为什么我的请求总是带有空值

时间:2019-05-14 18:44:34

标签: c# .net axios

我正在编写一个非常基础且易破解的React和c#/。NET应用程序,以尝试提高我的技能。 我正在从前端发送axios请求,但是当它遇到路由时,数据始终为空。

从前端拨打电话

    axios
      .post(URL, {
        "name": "me",
        "text": "Hello World",
        "date": "today",
        "userId": 1
      })
      .then(res => {return res})

我的留言班

    public class Message
    {
        [Key]
        public int MessageId { get; set; }
        public string Date { get; set; }
        public string Text { get; set; }
        public int UserID { get; set; }

    }
}

我的控制器方法

        public async Task<object> Post(Message message)
        {
            using (var context = new DbContext())
            {
                System.Diagnostics.Debug.WriteLine(message);
                context.Messages.Add(message);
                await context.SaveChangesAsync();
            }
        }

当我调试并击中断点时,我所有的值都为空。

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

答案是将[FromBody]属性放在这样的参数之前

public async Task<object> Post([FromBody] Message message)
{
    using (var context = new DbContext())
    {
        System.Diagnostics.Debug.WriteLine(message);
        context.Messages.Add(message);
        await context.SaveChangesAsync();
    }
}

感谢对我的原始帖子的评论!