找不到Spring反应性请求上下文映射错误

问题描述

我正在使用ServerWebExchangeContextFilter过滤器将当前ServerWebExchange上下文存储在spring提供的上下文映射中。 但是,当我尝试从代码的另一部分(下游)获取此保存的ServerWebExchange上下文时,我从上下文映射中针对键(10,)获得了一个空上下文。

    <!DOCTYPE html>
    <html>
    <head>
    <!-- .... -->
    </head>
    <body>
    <!-- .... -->
    <a class="twitter-share-button" href="https://twitter.com/intent/tweet">Tweet</a>
    <!-- .... -->
    <script>
    window.twttr = (function(d,s,id) {
      var js,fjs = d.getElementsByTagName(s)[0],t = window.twttr || {};
      if (d.getElementById(id)) return t;
      js = d.createElement(s);
      js.id = id;
      js.src = "https://platform.twitter.com/widgets.js";
      fjs.parentNode.insertBefore(js,fjs);
    
      t._e = [];
      t.ready = function(f) {
        t._e.push(f);
      };
    
      return t;
    }(document,"script","twitter-wjs"));
    </script>
    </body>
    </html>

ServerWebExchangeContextFitler类具有以下定义:

EXCHANGE_CONTEXT_ATTRIBUTE

我正在为我的组织编写一个公共库函数,因此希望避免在参数元组内部传递ServerHttpRequest。因此,请发布答案,使我可以从静态函数访问上下文。

解决方法

我找到了解决方案。显然,我试图从一个隔离的函数中获取保存的上下文。 通过将此Mono添加到我的原始控制器的执行链中,我能够解决它。 发生这种情况是因为ServerWebExchangeContextFilter将上下文保存在控制器的执行链中。现在,由于我想添加一个获取请求上下文的库方法,因此我不得不使用平面图将此函数链接到我的控制器。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...