首页 > 解决方案 > 如何为数据库查询的多个可选参数创建一个快速端点?

问题描述

我被困在 Express 中的路由。我想为多个可选请求参数创建一条路由,以根据客户端给定的参数从数据库中获取记录。

我正在使用这个:

“/search/:firstName?/:lastName?/:department?/:designation?”

上面 url 中的问题是:如果用户只想按部门搜索,那么部门将与 firstName 映射

标签: node.jsrestexpress

解决方案


一个更好的方法是使用查询参数。因此,如果用户只想按部门搜索,示例请求 url 将如下所示:

/search?department=education

多个参数将用 . 分隔&。例如:

/search?department=education&firstName=john

您可以像这样快速访问此信息:

// ...
router.get('search', function(req, response){
      var department = req.query.department;
      var firstName = req.query.firstName;
      // ...
})

推荐阅读