c#webApi从Angular 2客户端发布时到达空数据

时间:2018-02-07 00:59:11

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

我已经建立了一个Angular 2客户端和一个C#.NET Core WebApi来在它们之间进行通信。当我从客户端发送POST数据时,它在服务器中作为空值到达。被调用的控制器是;

render() {
  const props = {
    name: 'file',
    action: '//localhost/file/upload',
    onChange(info) {

    }
  };

  return (
    <Dragger {...props}>
      // drag and drop area
    </Dragger>
  )
}

生成JSon数据的客户端部分:

[HttpPost]
    public ActionResult Post([FromBody] string descr) // descr aways null
    {
        if (!string.IsNullOrEmpty(descr))
        {
            try
            {
                Restaurante novo = new Restaurante(descr);
                cnx.Restaurantes.Add(novo);
                cnx.SaveChanges();
                return Ok(novo);
            }
            catch
            {
                return NotFound();
            }
        } else return BadRequest();

    }

导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

  • 1 - 首先检查json是否格式正确,然后再发送给控制器,否则api控制器不可能 认识到它。
  • 2 - 从您的代码中,您将收到它作为字符串,并且您的客户端将其作为json格式传递。
  • 3 - 您需要与&#39;连接&#39;在身体之前和之后,将其作为字符串发送或更改控制器以便根据需要接收。