Spring Boot 如何在控制器中访问Reactor上下文

rggaifut  于 2023-02-16  发布在  Spring
关注(0)|答案(1)|浏览(164)

如果您在WebFilter中填充上下文,它如何在控制器中可用。据我所知,上下文在订阅时是在上游可用的,但WebFilter在管道中位于控制器之前,因此从技术上讲,控制器不应访问上下文,因为它位于填充上下文的Filter的下游。如有任何解释和/或参考有用的文档,将不胜感激。

fdbelqdn

fdbelqdn1#

这句话直接取自React堆文件:
上下文与订阅者相关联,并且每个运营商通过从其下游订阅者请求上下文来访问上下文。
那么这到底意味着什么呢?嗯,它意味着当有人订阅时,上下文就被创建了。
然后我们进入assembly time,这意味着每个操作符都将向上调用,直到它找到一个将产生数据的producer。当它被找到时,数据将开始流动,每个操作符将通过从它后面的操作符请求它来访问上下文。
这就是为什么我们在链的末端声明上下文,因为操作符向下游请求上下文,然后将其发送到上游。
关于上下文是如何在文档中传播的,有一个非常长的解释,在这里写作为答案太长了。但我建议你阅读它并尝试他们的例子。
所以数据流向下游,背景流向上游。
背景,React堆文件

相关问题