当前位置: 首页 > 后端技术 > Node.js

app.param在express中的用法

时间:2023-04-03 12:26:37 Node.js

express中的app.param方法是用来校验参数的。我个人理解为类似参数过滤的中间件。这里我会结合几个demo来加深大家对app.param方法的理解。demo1:varexpress=require('express');varapp=express();app.param(function(param,option){返回函数(req,res,next,val){if(val==option){next();//}else{res.sendStatus(404);}}});app.param('id',1337);app.get('/user/:id',function(req,res){res.send('参数通过测试');});app.listen(3000,function(){console.log('Ready');});在上面的例子中,只要在地址栏输入http:///localhost:3000/user/1337,页面就会显示“参数通过检查”。也就是说,app.params()可以过滤地址栏参数,对不同的参数做出不同的响应。但是,运行上面的代码时,会有这样的提示:expressdeprecatedrouter.param(fn):Refactortousepathparamsdemo1中的例子不推荐使用。改成如下,提示消失:demo2:varexpress=require('express');varapp=express();app.param('id',function(req,res,next,id){if(req.params.id==1337){next();}else{res.sendStatus(404);}});app.param('id',1337);app.get('/user/:id',function(req,res){res.send('参数通过测试');});app.listen(3000,function(){console.log('Ready');});提示:通常app.params结合正则表达式更强大。