Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 向路由器中间件函数传递参数_Node.js_Express - Fatal编程技术网

Node.js 向路由器中间件函数传递参数

Node.js 向路由器中间件函数传递参数,node.js,express,Node.js,Express,我想创建通用中间件来验证数据 我的问题是如何将附加参数发送到中间件(即validateRequest),我想发送的附加参数对于确定哪些字段需要验证非常有用 下面是供理解的示例代码 var express = require('express'); var router = express.Router(); var users = require('./controllers/users.js'); router.post('/api/v1/user/', validateRequest, u

我想创建通用中间件来验证数据

我的问题是如何将附加参数发送到中间件(即validateRequest),我想发送的附加参数对于确定哪些字段需要验证非常有用

下面是供理解的示例代码

var express = require('express');
var router = express.Router();
var users = require('./controllers/users.js');

router.post('/api/v1/user/', validateRequest, users.create);

function validateRequest(req,res, next){

}

module.exports = router;
试一试

试一试


您还可以为验证创建映射,检测用户所在的路由,然后在当前路由上应用映射。您还可以为验证创建映射,检测用户所在的路由,然后在当前路由上应用映射。
var express = require('express');
var router = express.Router();
var users = require('./controllers/users.js');

router.post('/api/v1/user/', validateRequest(['field1', 'field2']), users.create);

function validateRequest(fields){
    var middleware = function (req,res, next) {
        // code goes here
    }
    return middleware;
}

module.exports = router;