ServerWebExchange属性为空

时间:2018-08-14 09:34:23

标签: spring filter spring-webflux

我有基于WebFlux构建的基于Spring Boot注释的控制器。我实现了WebFilter,在WebFilter内调用了serverWebExchange.getAttributes(),它返回了4个很好的属性。但是此后它停止工作,现在总是返回空的属性映射。我没有更改控制器中的任何内容,但是即使我做了更改,我仍然应该获得那些属性。为什么它停止工作?

1 个答案:

答案 0 :(得分:0)

它在我第一次使用时有效:

this.handlerMapping.getHandler(serverWebExchange)

其中handlerMapping是类型RequestMappingHandlerMapping的bean,可以从WebFlux注入。

此行代码初始化serverWebExchange属性。有问题的是我写道它曾经工作过然后停止了。这样做的原因是当时我正在尝试handlerMapping并使其起作用,然后我将其删除并且属性停止初始化。调试表明,通常在应用WebFilter之后设置这些属性。这行代码使它可以更早地初始化。