Javascript 如何在快速路线中捕获不定数量的参数?

Javascript 如何在快速路线中捕获不定数量的参数?,javascript,node.js,express,Javascript,Node.js,Express,假设我有一条特快路线,它接受数字,将它们全部相加,然后返回总数 通常我会这样做 app.get('/add/:num1/:num2/:num3', (req, res) => { // access and parseInt these values from req.params // do operations // return total }) 但是,在这种情况下,路由可以处理的参数数量限制为3个(或者不管我硬代码中有多少url参数)。如果我想处理数量不确定或未

假设我有一条特快路线,它接受数字,将它们全部相加,然后返回总数

通常我会这样做

app.get('/add/:num1/:num2/:num3', (req, res) => {
   // access and parseInt these values from req.params
   // do operations
   // return total
})
但是,在这种情况下,路由可以处理的参数数量限制为3个(或者不管我硬代码中有多少url参数)。如果我想处理数量不确定或未知的参数,该怎么办?在这种情况下,数字是多少

最终,如果用户发送的是2、3、5、10或20个号码,我希望路由能够处理这些号码


如何实现这一点?

快捷路线支持*通配符。您可以使用“*”获取所有数字

app.get('/add/*', (req, res) => {
   const paramsArray = req.params[0].split('/');      
    // req.params[0] contains all the params separated by '/'
    // split the params using split function and it will return an array containing all parameters 

})
此数组可用于迭代参数

e、
GET/add/1/2/4/6
的g请求参数[0]将返回
1/2/4/6
,使用split函数拆分后,它将是
[1,2,4,6]
。最后,可以对数组的元素执行添加操作