nodejs传输数据获取及中间件设定
来源:互联网 发布:什么蛋糕品牌最好 知乎 编辑:程序博客网 时间:2024/05/16 17:22
关于nodejs几种获取传输参数的方法
1-req.query
获取请求url中使用?或&连接的参数
eg.agent.get('/courses/lessons?courseID='+ courseID)
获取方式:req.query.coursesID
2-req.body
获取请求体发送的数据(一般请求体是一个对象)
agent.get('/app/auth/password/forgot/') .set('Content-Type', 'application/json') //发送请求体信息,即req.body中的信息 .send({email: superUserInfo.email}) .expect('Content-Type', 'text/html; charset=utf-8') .expect(200) .end(function (err, res) { done(err); });
请求方式:
req.body.email
3-req.params
获取请求url中斜杠(/)后边的参数
app.route('/education/badges/category/:badgesCategoryId') .get(badges.getBadgesByBadgesCategoryId);
获取方式:
req.params.badgesCategoryId
4-req.param
中间件。当多个API都需要进行相同的操作(如都需要拿到userId进行授权操作或需要查到user的信息),可以将此过程封装起来。
中间件路由通过app.param中第一个参数与实际路由中的参数进行匹配,若匹配到则在请求实际路由前会先进入中间件路由。
//以下路由都包含:userId这个参数,因此若对以下路由发起请求都会先跳转到中间件路由。app.route('/app/auth/user/:userId/password') .get(users.changePasswordRandom) .put(users.changePassword);app.route('/app/auth/users/:userId') .put(users.update) .delete(users.delete);app.route('/app/auth/users/:userId/status') .put(users.activateUser);//中间件路由app.param('userId', users.userByID);
当检测到路由中含有userId这个参数,会先进入app.param()路由进行操作,若无错误,则会跳转到实际路由
5-自定义方法(上接req.param)
当中间件路由跳转到的函数获取到需要全局存储的数据,可将数据存储为req的自定义方法.如:
req.model = user;
执行完中间件,跳转到实际路由时便可以获取这个值,
var userId = req.model._id;
0 0
- nodejs传输数据获取及中间件设定
- Nodejs 数据加密传输
- nodejs中间件
- NODEJS中间件
- nodejs 获取post数据
- NodeJS数据对象获取
- 传输中间件
- 设定及获取剪切板中的值
- Nodejs基础中间件Connect
- Nodejs基础中间件Connect
- Nodejs基础中间件Connect
- Nodejs express之中间件
- Nodejs中间件Connect
- nodejs connect 中间件
- Nodejs-connect 中间件
- nodejs的中间件
- Nodejs基础中间件Connect
- nodejs中的中间件--Multer
- oracle中的事务隔离级别
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- 杭电1501 Zipper DFS
- 从对象数组到数组与集合
- Hamming Distance
- nodejs传输数据获取及中间件设定
- apt-get install ia32-libs安装问题
- Mongodb使用explain优化查询(1)--explain输出参数解析
- iOS pod使用
- 玩转mongodb(五):mongodb 3.0+ 查询性能分析
- JavaScript-提问(prompt 消息对话框)
- 小蚂蚁~STM32命名规则
- Android业务组件化开发实践
- mac 终端命令