如何使用express从不同的中间件中获取响应对象的数据

可能是这个愚蠢的问题.. :)有些可以帮助我从响应对象获取数据。 基本上我想用express来validation我的响应数据

app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use('/', function(req, res, next){ console.log('entry point'); res.json({name:"somename",age: 29}); next() }); var middleware = function (req, res, next) { console.log('LOGGED'); res.end = function (req, res , next) { var data = res.data; //do some validation logic here next() }}; app.use(middleware); var port = process.env.PORT || 10010; app.listen(port); 

你可以通过以下方式来完成

 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); var middleware = function (req, res, next) { //function to be called on finish and close event function afterResponse() { res.removeListener('finish', afterRequest); //res.removeListener('close', afterRequest); //You can do some validation logic here. } res.on('finish', afterResponse); //res.on('close', afterResponse); }}; //Using the middleware before all the request app.use(middleware); app.use('/', function(req, res, next){ console.log('entry point'); res.json({name:"somename",age: 29}); }); var port = process.env.PORT || 10010; app.listen(port); 

让我知道,如果你有任何疑问。