jsd*_*v17 1 javascript node.js express
假设我有一条快速路线接受数字,将它们全部加起来并返回总数.
通常我会做这样的事情
app.get('/add/:num1/:num2/:num3', (req, res) => {
// access and parseInt these values from req.params
// do operations
// return total
})
Run Code Online (Sandbox Code Playgroud)
但是,在这种情况下,路由可以处理的参数数量限制为3(或者硬编码的参数数量很多).如果我想处理无限期或未知数量的参数怎么办?在这种情况下,数字?
最终,我希望路由能够处理2,3,5,10或20个数字(如果这是用户发送的数字).
我怎样才能做到这一点?
Express路由支持*通配符.您可以使用'*'获取所有数字
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
})
Run Code Online (Sandbox Code Playgroud)
该数组可用于迭代params.
例如req.params [0] GET /add/1/2/4/6
将返回,1/2/4/6
并且在使用split函数进行拆分之后将会返回[1,2,4,6]
.最后可以对数组元素进行添加操作.
归档时间: |
|
查看次数: |
99 次 |
最近记录: |