我正在尝试从我的Postgres DB中检索特定的用户数据。
这段代码检索所有用户数据:
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);
}
});但是这段代码并没有检索到一个用户,它在Postman上返回了一个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);
}
});我似乎不知道问题出在哪里。
发布于 2020-11-08 10:20:35
@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);
}
});
});然后在Postman上将我的端点设置为GET路由
http://localhost:3000/employees/4我没有在params部分输入任何值。感谢您为我指明了正确的方向,特别是在邮递员部分。
https://stackoverflow.com/questions/64724067
复制相似问题