我正在尝试从我的Postgres数据库中检索特定的用户数据。
此代码可检索所有用户数据:
app.get("/employees", async (req, res) => {
try {
const allEmployees = await pool.query("SELECT * FROM employees");
res.json(allEmployees.rows);
} catch (err) {
console.error(err.message);
}
});
但是此代码不是要检索一个用户的。它在邮递员上返回404。
app.get("/employees/:id", async (req, res) => {
try {
const { id } = req.params;
const oneEmployee = await pool.query("SELECT * FROM employees WHERE emp_id = $1", [
id
]);
res.json(oneEmployee.rows[0]);
} catch (err) {
console.error(err.message);
}
});
我似乎不知道问题出在哪里。
答案 0 :(得分:0)
@AnujPancholi更新。我使用了node-postgres查询文档,并如下更改了我的代码:
app.get("/employees/:emp_id", async (req,res) => {
const query = {
// give the query a unique name
name: 'fetch-user',
text: 'SELECT * FROM employees WHERE emp_id = $1'
}
query.values = [req.params.emp_id];
// callback
await pool.query(query, (err, response) => {
if (err) {
console.log(err.stack);
} else {
res.json(response.rows);
}
});
});
然后在邮递员上将我的端点连接到GET路线
http://localhost:3000/employees/4
我没有在params部分输入任何值。感谢您为我指明了正确的方向,尤其是在邮递员方面。