我试图在我的queries.js中调用这个Postgres函数core.get_age(bigint)
function getAge(req, res, next){
var customer_id= parseInt(req.params.customer_id);
db.one('SELECT * FROM core.get_age($1)', customer_id)
.then(function(data){
res.status(200)
.json({
status: 'success',
data : data,
message: "Retrieved Age"
});
})
}
index.js中的任何路线
router.get('/api/age/:customer_id', db.getAge);
当我在POSTMAN中呼叫http://localhost:8080/api/age/10时,我收到404错误。
有什么问题?这是我试图调用Postgres函数的第一个实例()。只是尝试使用select * from
来检索Postgres表。这个表有效,但有功能我得到这个404.
答案 0 :(得分:0)
始终将.catch
与承诺一起使用!它将指出问题,例如在您的情况下返回的无效行数。
function getAge(req, res, next) {
db.func('core.get_age', +req.params.customer_id)
.then(data => {
res.status(200)
.json({
status: 'success',
data : data,
message: "Retrieved Age"
});
})
.catch(error => {
console.log(error);
next();
})
}
答案 1 :(得分:-1)
啊......
db.any('SELECT * FROM core.get_age($1)', customer_id)
而不是我曾经使用的那个。 DB.ANY获胜。