我目前正在学习 MEAN-Stack 并在我的 API 中编写一个工具,用于将一系列数字相乘。我有两个问题 Express 文档没有提供答案。
- 如何路由可变深度的 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/