我正在尝试制作一个基本的RESTful API,该API在大多数情况下都有效,但是我想解析它的url参数,以便可以在一个调用中应用多个过滤器
我有以下代码:
app.get('/api/products/:id',(req, res) => {
let sql = "SELECT * FROM products WHERE id="+req.params.id;
let query = conn.query(sql, (err, results) => {
if(err) throw err;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
[当我发送这样的请求时,可以使用它来应用一个过滤器:
localhost/api/products/1
但是我想获得所有带有名称及其类别的产品:
IE,我想发送如下请求:localhost/api/products?name=stier&category=hammer
我也希望它接受这样的请求localhost/api/products?category=hammer
这有可能吗,我该如何修改我的代码来做到这一点。
提前谢谢您
您可以按照您提到的完全将query
参数传递到该端点。您可以使用req.query
对于:localhost/api/products?name=stier&category=hammer
,req.query
将包含:
{
name: 'stier',
category: 'hammer'
}