【发布时间】:2018-08-14 09:34:22
【问题描述】:
我有基于 WebFlux 构建的基于 Spring Boot 注释的控制器。我实现了WebFilter,在WebFilter 内部我调用了serverWebExchange.getAttributes(),它返回了4 个属性,这很好。但在那之后它停止工作,现在它总是返回空属性映射。我没有更改控制器中的任何内容,但即使我这样做了,我仍然应该获得这些属性。为什么它停止工作?
【问题讨论】:
-
您可能导入了导致应用程序转换为 servlet 的内容。如果 web 和 webflux 都在类路径上,则默认为 MVC。尝试在您的属性中设置
spring.main.web-application-type=REACTIVE看看会发生什么? -
@Brian 嗨,我调试了
SpringApplication#deduceWebApplicationType并且为我的应用程序选择了REACTIVE,即使我没有在application.properties中设置它并且我没有@EnableWebFlux注释。可能是因为我使用spring-boot-starter-webflux。
标签: spring filter spring-webflux