【发布时间】:2021-08-29 03:11:55
【问题描述】:
运行此代码并尝试登录时发现此错误 System.ArgumentNullException:值不能为空。 当我从邮递员登录时
swagger 中从未发现此错误 如何解决,谢谢
[HttpPost("login")]
public async Task<IActionResult> Login(UserForLoginDto userForLoginDto)
{
var user = await _userManager.FindByNameAsync(userForLoginDto.UserName);
var result = await _signInManager.CheckPasswordSignInAsync(user,userForLoginDto.Password,false);
if(result.Succeeded){
var appUser = await _userManager.Users.FirstOrDefaultAsync(
u=>u.NormalizedUserName==userForLoginDto.UserName.ToUpper()
);
var userToReturn = _mapper.Map<UserForListDto>(appUser);
return Ok(new
{
token = GenerateJwtToken(appUser).Result,
user = userToReturn
});
}
return Unauthorized();
}
【问题讨论】:
-
以招摇和邮递员的形式显示您发送的请求...您似乎没有在请求中设置用户名...
-
你能告诉你的 userForLoginDto 吗?
-
public class UserForLoginDto { public string Password { get;放; } 公共字符串用户名 { 获取;放; } } @Serge
标签: c# asp.net asp.net-web-api