【问题标题】:Why are POST params always null in .NET Core API为什么 .NET Core API 中的 POST 参数始终为空
【发布时间】:2020-02-29 08:35:22
【问题描述】:

我创建了一个简单的 .NET 核心控制器,并试图从 Angular 中查询它。

问题是每当我向我的登录操作发送一个发布请求时,我总是收到空参数!奇怪的是,经过调查,请求正文/有效负载清楚地显示我的参数已设置。

请参阅我的屏幕截图以了解我的意思。

我已经尽力了,过去几个小时一直在阅读类似的问题,但没有任何成功????

所以我的问题是:是什么导致了我的空参数? .NET 核心一定在做一些我不知道的事情。

如果您认为查看更多代码或整个项目会有所帮助,请不要犹豫!

【问题讨论】:

    标签: c# angular asp.net-core post parameters


    【解决方案1】:

    您不能从 body 中获取两个单独的参数,因为它会将 emailpassword 绑定为参数的属性,而不是确切的参数。您需要创建一个对象,该对象使用这些名称定义属性,并在参数中使用该对象

    class Login 
    {
       public string Email { get; set; }
       public string Password { get; set; }
    }
    

    在action方法参数中

    ([FromBody]Login model)
    

    【讨论】:

      【解决方案2】:

      我建议创建具有电子邮件和密码属性的类。并使用 [FromBody] 属性。

      public class LoginModel
      {
         public string Email {get;set;}
         public string Password {get;set}
      }
      
      [HttpPost]
      [Route("login")
      public async Task<IActionResult> Login([FromBody] LoginModel model)
      {
        // your code
      }
      

      【讨论】:

        猜你喜欢
        • 2017-08-28
        • 2017-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-22
        • 2017-02-06
        • 2017-08-09
        • 1970-01-01
        相关资源
        最近更新 更多