我创建了一个简单的.NET核心控制器,并尝试从Angular查询它。
问题是,每当我向登录操作发送发布请求时,我总是会收到空参数!不过,很奇怪的是,在进行调查时,请求正文/有效负载清楚地表明我的参数已设置。
[我已经尽力而为,并且在过去的几个小时里一直在阅读类似的问题,但是没有取得任何成功😭
所以我的问题是:是什么导致我的空参数? .NET核心可能正在做我不知道的事情。
如果您认为查看更多代码或整个项目会有所帮助,请随时询问!
您无法从主体中获得两个单独的参数,因为它将绑定email
和password
作为参数的属性,而不是确切的参数。您需要创建一个对象,该对象使用这些名称定义属性,然后在参数中使用该对象
class Login
{
public string Email { get; set; }
public string Password { get; set; }
}
在动作方法参数中
([FromBody]Login model)
我建议使用电子邮件和密码属性创建类。并使用[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
}