2016-03-15 46 views
2

可能是這個愚蠢的問題.. :)有些可以幫助我從響應對象中獲取數據。基本上我想驗證了我的響應數據快遞如何從不同的中間件使用快速響應對象獲取數據

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); 
+0

您可以將事件處理程序添加到res對象的「完成」或「關閉」。 –

回答

0

使用其他middlware您可以通過以下方式

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); 

讓我知道,如果您有任何疑問,做到這一點。

+1

嗨Mukesh,感謝您的迴應,但我不明白你將如何得到響應數據,我正在使用快遞不簡單nodejs –

+1

你不回答如何查看數據 –