在 express 路由中使用多个参数(req.params)

栏目: express 发布时间:2022-01-12

本文总结一下 express 在路由中使用多个 param 的方法

  • 场景一
/**
 * 示例 url:http://www.example.com/user/lucy/1
 */
const express = require('express')
const userRouter = express.Router()

userRouter.get('/user/:lucy/:order_id', (req, res) => {
  console.log(params.name) // lucy
  console.log(params.order_id) // 1
})
  • 场景二
/**
 * 示例 url:http://www.example.com/user/lucy&16
 */
const express = require('express')
const userRouter = express.Router()

userRouter.get('/user/:name&:age', (req, res) => {
  console.log(params.name) // lucy
  console.log(params.age) // 16
})
  • 场景三:

多个 param 通过一定规则聚合为一个特殊参数,然后从单个 param 中解析出需要的全部参数

/**
 * 示例 url:http://www.example.com/user_lucy_16
 */
const express = require('express')
const userRouter = express.Router()

userRouter.get('/user_:path', (req, res) => {
  const { path } = req.params
  const parsedPath = path.split('_')
  console.log(parsedPath[0]) // lucy
  console.log(parsedPath[1]) // 16
})

本文地址:https://www.tides.cn/p_express-multiple-params

标签: nodejs req.params