繁体   English   中英

如何将参数解析为 RESTful API

[英]How can I parse parameters to a RESTful API

我正在尝试制作一个基本的 RESTful 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=hammerreq.query将包含:

{
   name: 'stier',
   category: 'hammer'
}

对于该 URL,您必须为/api/products添加路由,并保留/api/products/:id以获取单个产品。

你只需要设置'/api/products'后面的另一部分? 被称为参数并且 express 将它们自己放在对象req.query

app.get('/api/products',(req, res) => {
    console.log(req.query)
    console.log(req.query.name)
    console.log(req.query.category)


})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM