![](/img/trans.png)
[英]How to Pass a User object as parameter to node.js's Express api like asp.net
[英]Node.js API with express & mysql - Apply search parameter only if set, equal and like combined
我还希望能够像'%first_name%'一样搜索其中一个参数。 特别针对列“ first_name”
那是返回我想要的值的URL:
http://localhost:4001/api/v1/users/?active=0&title=mr&first_name=alexa
但是我也想在这样做时得到结果:
http://localhost:4001/api/v1/users/?active=0&title=mr&first_name=alex
那是我的查询:
router.get('/?', function(req, res, next) {
var title = req.query.title;
var active = req.query.active;
var first_name = req.query.first_name;
var sql = "SELECT * from users";
var existingParams = ["title", "active", "first_name"].filter(field => req.query[field]);
if (existingParams.length) {
sql += ' WHERE ';
sql += existingParams.map(field => `${field} = ?`).join(" AND ");
}
connection.query(
sql,
existingParams.map(field => req.query[field]),
function (error, results, fields) {
res.json({"status": 200, "error": null, "response": results});
});
});
我该如何更改脚本?
sql += existingParams.map(field => { if (field === 'first_name') { return `${field} like %?%`; } else { return `${field} = ?`; } }).join(" AND ");
尝试这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.