javascript - 如何在 Express 中路由带有变量 "depth"的 URL?

标签 javascript node.js express

我目前正在学习 MEAN-Stack 并在我的 API 中编写一个工具,用于将一系列数字相乘。我有两个问题 Express 文档没有提供答案。

  1. 如何路由可变深度的 URL? 目前,我正在执行以下操作:

router.route('/multiply/:a/:b')

    .get(function(req,res){

        /*multiply*/

        return res.send(respone);
    });

正如你所看到的,我只能用这种方式乘以 2 个数字,而不是我想要的那么多,而且这种方法可以路由任何东西,而不仅仅是 a 和 b 的数字。 所以我的第二个问题是如何仅路由 a 和 b 等数字?

问候, 克拉斯·M.

最佳答案

您可以使用通配符路由来匹配所有数字,然后自己对请求参数进行爆炸:

// matches /multiply/1/3/4/5/32/4 etc...
router.route('/multiply/:numbers([0-9]+)*')
  .get(function(req, res){

    // req.params.numbers will equal /1/3/4/5/32/4
    var numbers = req.params.numbers.split('/');
    // ..
    // multiply numbers
    // ..
    return res.send(answer);

  }); 

Express Route 测试器是一个非常有用的工具:http://forbeslindesay.github.io/express-route-tester/

关于javascript - 如何在 Express 中路由带有变量 "depth"的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31962520/

相关文章:

javascript - 如何将github OAuth数据发送给客户端?

node.js - 我该如何解决这个问题,res.json 不是一个函数

node.js - 使用 Mongoose 进入快速路由文件

javascript - 将输入输入列表不是收集复选框值吗?

javascript - promise 不会触发所有功能

mysql - Sequelize 不唯一的表/别名

node.js - express 包中的app.get方法

javascript - Node JS 回调

javascript - 如何在javascript中使用多个规则拆分字符串

javascript - 在没有图像的 java 或 javascript 中创建图表