Mad*_*ist 1 routing routes node.js express
我正在Node中构建API,并且正在努力找出一些解决方案。即,我知道如何构建类型的路由/api/:paramA/:paramB。在这种情况下,有两个参数。
该代码将是这样的:
router.get('/test/:paramA/:paramB', function(req, res) {
res.json({ message: 'hooray! welcome to our api!' + req.params.paramA + req.params.paramB});
});
Run Code Online (Sandbox Code Playgroud)
一个人如何建立一条能对诸如此类的东西做出反应的路线/api?paramA=valueA¶mB=valueB?
我最终用了这个。这段代码完全按照我在最初的问题中要做的事情进行。
router.get('/api', function(req, res) {
if(typeof req.query.paramA !== 'undefined' && typeof req.query.paramB !== 'undefined') {
let paramA = req.query.paramA,
paramB = req.query.paramB;
//do something with paramA and paramB
}
});
Run Code Online (Sandbox Code Playgroud)
在Express路由中使用此URL:
/api?paramA=valueA¶mB=valueB
Run Code Online (Sandbox Code Playgroud)
你做这个:
router.get('/api', function(req, res) {
console.log(req.query.paramA); // valueA
console.log(req.query.paramB); // valueB
console.log(req.query.paramC); // undefined (doesn't exist)
});
Run Code Online (Sandbox Code Playgroud)
查询参数被解析到req.query对象中。如果查询字符串中不存在查询参数名称,则query.query对象上将不存在该属性,并且将尝试读取它undefined。请记住,所有值都是字符串。如果希望它们是数字或其他某种数据类型,则必须将它们解析为该其他类型。
如果您确定正在传递的 GET 参数,那么您可以轻松地执行以下操作:
router.get('/api', function(req, res) {
if(typeof req.params.paramA !== 'undefined' && typeof req.params.paramB !== 'undefined') {
let paramA = req.params.paramA,
paramB = req.params.paramB;
//do something with paramA and paramB
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5581 次 |
| 最近记录: |