Я мигрирую библиотеку Spring MVC в Spring WebFlux. Существует функция, которая позволяет нашим клиентам аннотировать методы своих контроллеров для выполнения пользовательской проверки (и применения некоторых бизнес-правил) на входящих заголовках перед предоставлением доступа к API.
В Spring MVC это было достигнуто с помощью HandlerInterceptorAdapter. Поскольку WebFlux не имеет ничего подобного, я пробовал решение, предложенное Россеном здесь . Однако это не работает для этого варианта использования, так как информация обработчика метода доступна только в операторе onSuccess
, и уже слишком поздно, чтобы получить информацию для обработки аннотации.
Я пробовал другой предложенный подходиспользуя метод @ModelAttribute
для @ControllerAdvice
, но это работает только в том случае, если аннотация применяется к классу Controller, в нашем случае аннотация применяется к методам класса контроллера.
Вот пример https://github.com/ranarula/handleInterceptor с проблемой
Любые указания о том, как реализовать обработку аннотаций в WebFlux, помогут.