2016-12-27 7 views
3
私はミドルウェアを持って

は言う:ミドルウェアはどのルートから呼ばれていますか?

var app = express();  

var someMiddleware = function(req, res, next){ 
    //here i want to know for which route it's executing for eg. if i hit my app with xyz.com/xyz/123 it will hit route defined below which i want to identify in this middleware execution 
}; 

app.get('xyz/:parameter', someMiddleware,function(req, res, next){ 
    //some action on request 
}); 

だから、ここで実行しながら、私は、ルートミドルウェアが正確に呼び出されているかどうかを確認したいです。

+0

'console.log(req.url)'? –

+0

であり、ポイントがreqの場合は、111/112またはtest/112となります。ここで、111と112はreqパラメータです。両方とも同じテスト/:testIdルートです。 –

答えて

1

これを実行する唯一の方法は、入力されたRequest objectを追跡し、現在実行中のルートでどのURL、クエリ文字列などが使用されているかを知るために選択的にログすることです。あなたのミドルウェア機能で

、例えば、あなたはこのような何か書くことができます:

var someMiddleware = function(req, res, next) { 
    console.log('method:', req.method); 
    console.log('originalUrl:', req.originalUrl); 
}; 

HTTPメソッドの組み合わせを、だけでなく、originalURLはあなたに明確に何が起こっているかのルートを参照するための十分な情報が得られます最終的に呼び出される。

+1

req.route.pathこれは私のために働いた。私はreqオブジェクトを記録した後。ありがとうございました。 –

関連する問題