![](/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.