我正在学习MEAN-Stack并在我的API中编写一个工具,它会增加一系列数字。我有两个问题,快速文档没有提供答案。
router.route('/multiply/:a/:b')
.get(function(req,res){
/*multiply*/
return res.send(respone);
});
正如你所看到的,我只能用这种方式乘以2个数字,而不是我喜欢的数量,这种方法可以路由任何东西,而不仅仅是数字和数字。湾 所以我的第二个问题是如何仅为数字作为& B'
此致 Claas M。
答案 0 :(得分:3)
您可以使用通配符路径匹配所有数字,然后自己对请求参数进行爆炸:
// 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 tester是一个非常有用的工具:http://forbeslindesay.github.io/express-route-tester/
答案 1 :(得分:0)
在我付出太多努力之后,我得出结论,使用POST而不是将数据放入URL更容易。 但如果有人知道解决方案,我仍会感激不尽。
router.route('/multiply/:a/:b')
.post(function(req,res){
var array = req.body.numbers;
/*multiply*/
return res.send(respone);
});