HapiJS - MySQL:查询成功但邮递员返回内部服务器错误

时间:2018-05-07 15:34:34

标签: mysql node.js hapijs

我正在尝试使用Hapi和MySQL创建一个身份验证系统,我正在使用postman进行测试,我也在终端控制台上记录查询的输出。

问题是,控制台成功输出查询,但邮递员返回An internal server error occurred,控制台不会返回任何错误。我将发送我的路线的处理函数,如下所示:

    handler: async function(req, h) {

        const pass = req.payload.password;
        const username = req.payload.username;
        var res;
        res = await con.query("SELECT * FROM `Person` WHERE `Username` = ?", username,
            (err, rows, fields) => {
                if(err) {
                    console.log("Query Error: ", err, "!");
                    return err;
                } else {
                    console.log("Query Successful!");
                    const person = JSON.parse(JSON.stringify(rows[0]));
                    console.log(person);
                    if(person != null) {
                        //const hashedPass = crypto.pbkdf2Sync(req.payload.password, person.salt, 10000, 64, 'sha1').toString('base64');
                        if(pass != person.Password) {
                            return boom.badRequest('Invalid username/password.');
                        } else {
                            var token = jwt.sign(person, config.jwtKey);
                            person.token = token;
                            return person;
                        }
                    } else {
                        return boom.badRequest('Invalid username/password. Failed.');
                    }            
                }
            }           
        );
        return res;
    }

1 个答案:

答案 0 :(得分:0)

我通过添加另一个node_module解决了这个问题,该node_module用promises封装了常规的mix phx.gen.html MyContext MyModel my_models a b c d:integer --no-context 节点模块函数。 该包名为mysql