Переходник-перехватчик Spring WebFlux - PullRequest
0 голосов
/ 12 ноября 2019

Я мигрирую библиотеку Spring MVC в Spring WebFlux. Существует функция, которая позволяет нашим клиентам аннотировать методы своих контроллеров для выполнения пользовательской проверки (и применения некоторых бизнес-правил) на входящих заголовках перед предоставлением доступа к API.

В Spring MVC это было достигнуто с помощью HandlerInterceptorAdapter. Поскольку WebFlux не имеет ничего подобного, я пробовал решение, предложенное Россеном здесь . Однако это не работает для этого варианта использования, так как информация обработчика метода доступна только в операторе onSuccess, и уже слишком поздно, чтобы получить информацию для обработки аннотации.

Я пробовал другой предложенный подходиспользуя метод @ModelAttribute для @ControllerAdvice, но это работает только в том случае, если аннотация применяется к классу Controller, в нашем случае аннотация применяется к методам класса контроллера.

Вот пример https://github.com/ranarula/handleInterceptor с проблемой

Любые указания о том, как реализовать обработку аннотаций в WebFlux, помогут.

...