Атрибуты ServerWebExchange пусты
У меня есть контроллер Spring Boot на основе аннотаций, построенный на WebFlux. Я реализую WebFilter
внутри WebFilter
Я призвал serverWebExchange.getAttributes()
и он вернул 4 атрибута, что нормально. Но после этого он перестал работать и теперь всегда возвращает пустую карту атрибутов. Я ничего не изменил в контроллере, но даже если бы я это сделал, я все равно должен получить эти атрибуты. Почему это перестало работать?
1 ответ
Это работает, когда я сначала делаю:
this.handlerMapping.getHandler(serverWebExchange)
где handlerMapping
это боб типа RequestMappingHandlerMapping
который вы можете ввести из WebFlux.
Эта строка кода инициализирует serverWebExchange
атрибутов. На вопрос я написал, что это сработало один раз, а потом остановилось. Причина в том, что я экспериментировал с handlerMapping
в то время, и это заставило его работать, затем я удалил его, и атрибуты перестали инициализироваться. Отладка показала, что обычно эти атрибуты устанавливаются после WebFilter
с применяются. Эта строка кода делает его инициализировать раньше.