Про "чуть меньше" я имею в виду что-то наподобие описанного мной выше пример
Дано: нужно не допускать для отдельных роутов клиентов без токена или с не валидным токеном.
Как я это решаю в экспрессе. У меня есть сервис аутентификации, я создаю мидлвар, который передает в этот сервис токен и случае если проверка не прошла кидает 401
Дальше я вставляю через use над всеми приватными роутами этот мидлвар.
Как это предлагается решать в том же несте
Создается декоратор, который оборачивает функцию, в котором берется из другого декоратора нужный хэдер с токеном, специальным образом инжектируется сервис аутентификации, остальная логика такая же
И я не могу в одном месте поставить этот декоратор, я ставлю его над каждым приватным эндпоинтом.
В результате смысл кода абсолютно такой же, в несте есть ограничения которые заставляют тебя отделять проверку токена, в экспрессе есть просто мидлвары. Но времени на написание я трачу в разы больше, особенно с учетом покрытия типами.
Вопрос, если я все равно вставляю одну и ту же логику, зачем мне писать в 10 раз больше кода? Замутировать что-то я могу и там и там, сделать плохо могу и там и там.