【发布时间】:2021-07-19 05:24:58
【问题描述】:
下面是我尝试将输入作为 DTo 传递的 HttpPost 方法
[HttpPost("register")]
public async Task<ActionResult<AppUser>> Register(RegisterDto registerDto)
{
if (await UserExists(registerDto.Username)) return BadRequest("Username is taken");
using var hmac = new HMACSHA512();
var user = new AppUser
{
UserName = registerDto.Username.ToLower(),
//UserName = username,
PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(registerDto.Password)),
//PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(password)),
PasswordSalt = hmac.Key
};
_context.Users.Add(user);
await _context.SaveChangesAsync();
return user;
}
}
这是我创建的 Dto 类,我在 HttpPost 方法中传递了它
注册 Dto 类:-
public class RegisterDto
{
public string Username { get; set; }
public string Password { get; set; }
}
当我尝试在 postman 中测试此方法时,它会抛出错误为 415 unsupported media type ,请查看下图。 邮递员错误:-
【问题讨论】:
-
您必须通过正文而不是查询字符串传递参数
标签: c# asp.net-core-5.0