调用POST api将用户添加到数据库表时出现错误500

时间:2019-07-09 10:06:28

标签: c# asp.net reactjs api controller

我正在尝试向数据库中添加新记录,但是当我使用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。 任何人都可以帮助我解决为什么发生这种情况?

1 个答案:

答案 0 :(得分:0)

500表示服务器错误。 因此,我认为您的服务器代码引发了异常。 在您的Create或RegisterUser方法中添加一个try / catch并记录堆栈跟踪,以查看发生了什么。