node.js express中app.param的用法详解


Posted in Javascript onJuly 16, 2017

前言

大家应该都知道,express中app.param方法用于验证参数,我个人把它理解成类似对参数过滤的一个中间件。在这里我来结合几个demo,加深大家对app.param方法的理解。下面话不多说,来一起通过示例代码看看详细的介绍吧。

demo1:

var express = require('express');
var app = express();
app.param(function(param, option) {
 return function (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()可以对地址栏参数进行过滤,针对不同参数作出不同响应。

但是上述代码,在运行的时候会有这样的提示:

express deprecated router.param(fn):Refactor to use path params

demo1中示例的写法并不推荐,改成如下写法,提示就会消失:

demo2:

var express = require('express');
 var app = 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');
 });

tip:通常app.params结合正则表达式使用更强大。

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
显示js对象所有属性和方法的函数
Oct 16 Javascript
jQuery的运行机制和设计理念分析
Apr 05 Javascript
Textarea与懒惰渲染实现代码
Jan 04 Javascript
JavaScript自执行闭包的小例子
Jun 29 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
Jun 18 Javascript
js输入框使用正则表达式校验输入内容的实例
Feb 12 Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 Javascript
vue基础之事件v-onclick="函数"用法示例
Mar 11 Javascript
js作用域及作用域链工作引擎
Jul 07 Javascript
Node.js中流(stream)的使用方法示例
Jul 16 #Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 #Javascript
Vue Spa切换页面时更改标题的实例代码
Jul 15 #Javascript
Vue应用部署到服务器的正确方式
Jul 15 #Javascript
js+html5实现侧滑页面效果
Jul 15 #Javascript
angular2 ng build部署后base文件路径问题详细解答
Jul 15 #Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 #Javascript
You might like
Smarty变量调节器失效的解决办法
2014/08/20 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
python文件操作整理汇总
2014/10/21 Python
Python随机数random模块使用指南
2016/09/09 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
用Python写一个自动木马程序
2019/09/17 Python
python模拟实现斗地主发牌
2020/01/07 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
keras多显卡训练方式
2020/06/10 Python
基于PyTorch中view的用法说明
2021/03/03 Python
职专应届生求职信
2013/11/16 职场文书
人事主管的岗位职责
2013/11/16 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
2014年副班长工作总结
2014/12/10 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
用python自动生成日历
2021/04/24 Python
python实现局部图像放大
2021/11/17 Python