Node.js 面试题
目录

如何使用 Express 处理 URL 参数和查询参数?

· 约 3 分钟读完 · 第 263 / 377 章

推荐答案

在 Express 中,可以通过 req.params 和 req.query 来分别处理 URL 参数和查询参数。

处理 URL 参数

URL 参数通常用于 RESTful API 中,表示资源的唯一标识符。例如,/users/:id 中的 :id 就是一个 URL 参数。

处理查询参数

查询参数通常用于过滤、排序或分页等操作。例如,/users?name=John&age=30 中的 name 和 age 就是查询参数。

本题详细解读

URL 参数

URL 参数是路径的一部分,通常用于标识特定的资源。在 Express 中,URL 参数可以通过 req.params 对象来访问。req.params 是一个包含 URL 参数的对象,键是参数名,值是参数的实际值。

例如,对于路由 /users/:id,如果请求的 URL 是 /users/123,那么 req.params.id 的值就是 123。

查询参数

查询参数是 URL 中 ? 后面的部分,通常用于传递额外的信息。在 Express 中,查询参数可以通过 req.query 对象来访问。req.query 是一个包含查询参数的对象,键是参数名,值是参数的实际值。

例如,对于 URL /users?name=John&age=30,req.query.name 的值是 John,req.query.age 的值是 30。

区别与使用场景

  • URL 参数:通常用于标识资源,例如 /users/:id 表示获取特定 ID 的用户。
  • 查询参数:通常用于过滤、排序或分页,例如 /users?name=John&age=30 表示获取名字为 John 且年龄为 30 的用户。

注意事项

  • URL 参数和查询参数都可以通过 req.params 和 req.query 来访问,但它们的用途不同。
  • 如果 URL 参数和查询参数的名称相同,Express 会优先处理 URL 参数。
  • 查询参数的值通常是字符串类型,如果需要其他类型(如数字),需要进行类型转换。