我正在尝试向数据库中添加新记录,但是当我使用fetch
发出api post
请求时,我得到了error 500
。
我知道已经有很多问题要问这个,但是由于某种原因,我找不到解决我问题的答案。
在我的控制器中
[HttpPost]
[Route("api/Employee/Create")]
public int Create([FromBody] LoginModel employee)
{
employeeRepo.RegisterUser(employee);
return 1;
}
这是我的RegisterUser函数的样子:
public Void RegisterUser(LoginModel data)
{
var salt = crypt.CreateSalt(5);
var hashedPassword = crypt.GenerateHash(data.password, salt);
TblEmployee employee = new TblEmployee();
employee.Username = data.username;
employee.Password = hashedPassword;
employee.Salt = salt;
db.TblEmployee.Add(employee);
db.SaveChanges();
}
其中db是上下文EmployeesContext db = new EmployeesContext();
的实例
我有一个如下所示的LoginModel:
public class LoginModel
{
public string username { get; set; }
public string password { get; set; }
}
这就是我在React前端中进行api调用的方式
fetch('api/Employee/Create/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({ username: username, password: password })
})
尝试运行此命令时出现错误500。 任何人都可以帮助我解决为什么发生这种情况?
答案 0 :(得分:0)
500表示服务器错误。 因此,我认为您的服务器代码引发了异常。 在您的Create或RegisterUser方法中添加一个try / catch并记录堆栈跟踪,以查看发生了什么。