lssssssssssl, я хотел сделать единую точку входа для всех get-запросов, в котором в зависимости от набора параметров, вызывается нужная функция, которая защищена моим декоратором.
Сейчас я нашёл другое решение. В контроллере я поставил для всех отдельных фукнций декоратор Get, с помощью которого мой декоратор заработал. Для каждой отдельной фукнции назначен свой роут.
В модуль я добавил миддлвэйр, который в зависимости от параметров запроса изменяет путь на необходимый для нужной функции. В результате всё работает как нужно: у меня единая точка входа для всех гет-запросов модуля, в будущем я могу разделить функцию на более мелкие фукнции и защищать их независимо друг от друга, при этом внешнее апи никак не изменится.
Возмонжно, это не совсем корректное решение, но оно работает и, насколько я вижу, архитектурно ничего не усложняет.
Спасибо всем за отзывчивость! На стэковерфлоу всё ужасно медленно(
Однако я не нашёл способа заставить работать это с встроенным декоратором UseGuards :(
Придётся каждый раз создавать экземпляр моего guard. А там мне нужны некоторые сервисы.
Или я ошибаюсь?
Сейчас я нашёл другое решение. В контроллере я поставил для всех отдельных фукнций декоратор Get, с помощью которого мой декоратор заработал. Для каждой отдельной фукнции назначен свой роут.
В модуль я добавил миддлвэйр, который в зависимости от параметров запроса изменяет путь на необходимый для нужной функции. В результате всё работает как нужно: у меня единая точка входа для всех гет-запросов модуля, в будущем я могу разделить функцию на более мелкие фукнции и защищать их независимо друг от друга, при этом внешнее апи никак не изменится.
Возмонжно, это не совсем корректное решение, но оно работает и, насколько я вижу, архитектурно ничего не усложняет.
Спасибо всем за отзывчивость! На стэковерфлоу всё ужасно медленно(