2017-01-30 24 views
0

我想將特定中間件功能應用於兩個post請求,但不是get請求。我怎麼能這樣做?將中間件功能應用於特定請求

var router = express.Router(); 
var app = express(); 

router.post('/jobs',(req,resp)=>{ 
    var messageString = JSON.stringify(req.body); 
    Job.accept(messageString,(statusCode,respObject)=>{ 
    resp.status(statusCode).json(respObject); 
    }); 
}); 

router.get('/jobs',(req,resp)=>{ 
    Job.status((statusCode,respObject)=>{  
     resp.status(statusCode).json(respObject); 
    }); 
}); 

router.post('/try',(req,resp)=>{ 
    var messageString = JSON.stringify(req.body); 
    Job.ok(messageString,(statusCode,respObject)=>{ 
    resp.status(statusCode).json(respObject); 
    }); 
}); 

我念叨app.use,但無法真正瞭解它的用法。

回答

0

添加你想要的功能的中間件。這裏就是我登錄的用戶IP

const myLogger = (req, res, next) => { 
    console.log('got a request from', req.connection.remoteAddress); 
    next(); 
} 

app.post('/jobs', myLogger, (req, res) => { 
    //your code here... 
} 
0

隨着上述答案的例子,寫app.use(myLogger)