которая не должна использоваться для определенного роута в Express?
не юзаем мидлвары на все рауты сразу?)
о какой мидлваре речь
Допустим у нас есть fooRoutes.js В нем дофига эндроинтов router.get(‘/a’) router.post(‘/b’) .... и т.д На каждый из ендпоинтов кладется еще число мидлварий В конечном итоге чтобы дойти до последнего эндпоинта в файле будут задерганы в мидлвари по пути (я про router.use) Так вот как лучше сделать так чтобы они не дергались если они не нужны для этого эндпоинта
ну самое просто решение в лоб это просто в мидлваре проверять req.path/req.originalUrl
Во, а есть что-то лучше сейчас?
но вы не ответили на вопрос что за мидвары, нужен не теоретический пример, а конкретно ваш кейс потому что я на практике больше 1 мидлвары на раут не использую - нет надобности у вас может очень много логики вынесено в мидлвары
как вариант просто не вешай её через use, а вешай на каждый роут Либо выдели группу роутов для которых точно нужна это мтдлевара и повесь через use
обычно есть глобальные мидлвары по типу боди-куки парсера потом на уровне роутерa могут быть у меня мидлвары для авторизации и на каждый роут например рейт лимит все
Ну допустим у меня есть авторизация У авторизации есть 4 мидлвари: 1. Одна делает 3rd party запрос 2. Вторая картинки сохраняет 3. Третья авторизует 4. А последняя на почту отправляет Ну и плюс какие-то данные замапить, я в мидлвари обычно выношу
почему отправка на почту это в мидлваре а не в бизнес логике?
у вас какая авторизация? сессии? oauth? jwt?
jwt А что Вы выносите в мидлвари?
у вас должна быть тогда 1 мидлвара авторизации, которая верифицирует джвт токен и записывает в контекст запроса декдоированного юзера с правами например
спроси у него ещё он ноги моет ниже колен или нет, чтобы точно вопрос его решить
не понял к чему эта фраза
Хороший вопрос
Обсуждают сегодня