Ну, это происходит, потому что вы сделали это. Если вы хотите, чтобы промежуточное программное обеспечение выполнялось только при выбранном методе, вы должны указать его. Например:
Вместо того, чтобы делать:
app.use('/api/user', MiddlewareFun)
app.put('/api/user', (req, res) => {
//do something
})
заменить use
метод на put
. Как вы бы связали обычный маршрут:
app.put('/api/user', MiddlewareFun)
app.put('/api/user', (req, res) => {
//do something
})
Кроме того, еще одна вещь. Вам не нужно дублировать вызов промежуточного программного обеспечения перед каждым объявлением маршрута. Если вы хотите применить промежуточное ПО ко всему маршрутизатору, вы можете использовать .use()
(как вы это сделали) или .all()
; что приведет к тому же поведению.