express之全局中间件query
发布日期:2021-05-28 16:23:57 浏览次数:32 分类:技术文章

本文共 840 字,大约阅读时间需要 2 分钟。

lib/middleware/query.js//express初始化全局中间件,options为express上的query parse fn 属性值module.exports = function query(options) {  var opts = merge({}, options)  //查询字符串解析器  var queryparse = qs.parse;  //如果参数为函数,则为查询字符串解析器  if (typeof options === 'function') {    queryparse = options;    opts = undefined;  }  //?  if (opts !== undefined && opts.allowPrototypes === undefined) {    // back-compat for qs module    opts.allowPrototypes = true;  }  //返回查询字符串解析中间件,现在也只有这个请求解析中间件是内建的  return function query(req, res, next){    //req上query对象不存在    if (!req.query){      //解析请求URL获取查询字符串      var val = parseUrl(req).query;      //解析查询字符串为对象,设置到req的query属性      req.query = queryparse(val, opts);    }    //调用下一个中间件函数    next();  };};

 

express已经不包含大部分的请求解析中间件了,如json、urlencoded、cookie等中间件都变成可配置的了,只有查询字符串解析中间件还是内建的

其中解析函数默认为qs模块的,也可以通过app上的query parse fn设置

转载地址:https://blog.csdn.net/qq_27868061/article/details/79249669 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:express之request.js
下一篇:express之全局中间件init

发表评论

最新留言

很好
[***.229.124.182]2025年01月20日 08时44分36秒