【问题标题】:Error 500 when calling POST api to add user to database table调用 POST api 将用户添加到数据库表时出现错误 500
【发布时间】:2019-11-18 20:51:30
【问题描述】:

我正在尝试将新记录添加到我的数据库中,但是当我使用 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; }
}

这就是我在反应前端进行 api 调用的方式

 fetch('api/Employee/Create/', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/json'
            },
            body: JSON.stringify({ username: username, password: password })
        })

当我尝试运行它时收到错误 500。 任何人都可以帮助我了解为什么会发生这种情况?

【问题讨论】:

    标签: c# asp.net reactjs api controller


    【解决方案1】:

    500 表示服务器错误。 所以我认为您的服务器代码会引发异常。 将 try/catch 添加到您的 Create 或 RegisterUser 方法并记录堆栈跟踪,看看会发生什么。

    【讨论】:

      猜你喜欢
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多