Javascript 我想让员工';从req部门id传递到url的s部门数据
如何在这些路由上使用可选的查询筛选器,例如“/employees?department=4”,并返回部门号为4的数据Javascript 我想让员工';从req部门id传递到url的s部门数据,javascript,node.js,express,Javascript,Node.js,Express,如何在这些路由上使用可选的查询筛选器,例如“/employees?department=4”,并返回部门号为4的数据 app.get("/employees", (req, res) => { dataService.getAllEmployees().then(function(data) { res.json(data); }).catch(function(err) { var error = { "message": err };
app.get("/employees", (req, res) => {
dataService.getAllEmployees().then(function(data) {
res.json(data);
}).catch(function(err) {
var error = { "message": err };
res.json(error);
});
我在dataService模块中已经有了返回id为的部门承诺的函数
function getEmployeesByDepartment(department) {
return new Promise((resolve, reject) => {
try {
employees.forEach((element) => {
if (element.department == department) {
resolve(element);
}
});
} catch (error) {
reject("no data returned");
}
});
}
可以使用对象访问查询参数 在您的情况下,代码将类似于:
if (req.query.department) {
return getEmployeesByDepartment(req.query.department).then(
data => res.json(data)
);
} else {
return dataService.getAllEmployees().then(
data => res.json(data)
);
}
您可以使用
req.query
获取查询字符串数据,并将部门传递给getEmployeesByDepartment
函数
app.get("/employees", (req, res) => {
var department = req.query.department || "";
if(department){
getEmployeesByDepartment(department).then(data => res.json(data));
}
else{
dataService.getAllEmployees().then((data) => {
res.json(data);
}).catch((err) => {
var error = { "message": err };
res.json(error);
}
);