我对nodejs很新。我最近使用基本数据结构深入研究了REST API端点。我正在制作一个GET/loans
,它通常会返回我所有的贷款申请。但我正在尝试重构它以满足查询参数端点GET/loans?status=approve&repaid=true
&& GET/loans?status=approve&repaid=false
这就是我的get请求。这是完美的
static getLoans(req, res) {
return res.status(200).send({
status: 200,
data: loans,
});
}
我试图重构它以返回其详细信息与查询参数匹配的贷款,这不起作用:
static getLoans(req, res) {
if (req.query) {
const queryStatus = req.query.status;
const queryRepaid = req.query.repaid;
const data = loans.filter(item => item.queryStatus && queryRepaid);
return res.status(200).send({
status: 200,
data,
});
}
return res.status(200).send({
status: 200,
data: loans,
});
}
我该怎么办呢?任何输入将不胜感激。
试试这个:
const data = loans.filter(item => item.queryStatus === queryStatus && item.queryRepaid === queryRepaid);
但是,您可以从数据库查询结果,如下所示:
return Loans.find({queryStatus: queryStatus, queryRepaid: queryRepaid});