我有基于WebFlux构建的基于Spring Boot注释的控制器。我实现了WebFilter
,在WebFilter
内调用了serverWebExchange.getAttributes()
,它返回了4个很好的属性。但是此后它停止工作,现在总是返回空的属性映射。我没有更改控制器中的任何内容,但是即使我做了更改,我仍然应该获得那些属性。为什么它停止工作?
答案 0 :(得分:0)
它在我第一次使用时有效:
this.handlerMapping.getHandler(serverWebExchange)
其中handlerMapping
是类型RequestMappingHandlerMapping
的bean,可以从WebFlux注入。
此行代码初始化serverWebExchange
属性。有问题的是我写道它曾经工作过然后停止了。这样做的原因是当时我正在尝试handlerMapping
并使其起作用,然后我将其删除并且属性停止初始化。调试表明,通常在应用WebFilter
之后设置这些属性。这行代码使它可以更早地初始化。