通过 WebFlux 中的过滤器向传出请求添加标头

2024-04-04

我正在将 Java Spring WebFlux 用于客户端和服务器,并且我想通过向其添加自定义标头来自定义从客户端到服务器的请求。我已经将 WebFilter 用于另一个目的,但它似乎只适用于传入请求和响应(例如来自 FE 的请求及其响应)。


有多种方法可以指定自定义标头。

如果标头是静态的,您可以在期间指定它们WebClient实例创建使用defaultHeader or defaultHeaders方法:

WebClient.builder().defaultHeader("headerName", "headerValue")
WebClient.builder().defaultHeaders(headers -> headers.add("h1", "hv1").add("h2", "hv2"))

如果标头是动态的,但标头值生成对于所有请求都是通用的,您可以使用ExchangeFilterFunction.ofRequestProcessor配置期间WebClient实例创建:

WebClient
    .builder()
    .filter(ExchangeFilterFunction.ofRequestProcessor(
        request -> Mono.just(ClientRequest.from(request)
                                          .header("X-HEADER-NAME", "value")
                                          .build())
    )
    .build();

如果标头是动态的并且每次使用都是特定的WebClient,您可以配置每次调用的标头:

webClient.get()
    .header("headerName", getHeaderValue(params))
    .retrieve();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 WebFlux 中的过滤器向传出请求添加标头 的相关文章

  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo

随机推荐

  • 为什么 C++ 分配器中没有重新分配功能?

    在 C 中 标准内存处理函数是malloc realloc and free 然而 C stdlib 分配器仅并行其中两个 没有重新分配函数 当然 不可能完全做同样的事情realloc 因为简单地复制内存并不适合非聚合类型 但是这个函数会不
  • 如何在 C# 中使用 GtkBuilder 连接林间空地信号?

    在Python中 我可以这样做builder connect signals self C 中好像不存在这个方法 看了之后GtkBuilder 文档 http library gnome org devel gtkmm unstable c
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • PHP:如何获取构造函数调用的方法?

    PHP 有 get used class 这将返回所调用的类的名称 是否有一个函数可以返回所调用方法的名称 例如 我有一个父类 class Parent public function construct echo get called c
  • R:xlsx (0.4.2) 包的 rJava 错误

    我正在尝试使用 xlsx 包用外部文件中的信息填充电子表格 到目前为止 我已经使用 addDataFrame 将信息放入电子表格中 并且我尝试过的所有内容都是成功的 字体 颜色 边框等 现在的问题是我需要有一列超链接 为此我需要获取或创建特
  • Ruby on Rails 错误:Uglifier::Error: 意外的标记:运算符 (<)

    每当我跑步时rake assets precompile RAILS ENV production在我的命令行中 我收到此错误 它阻止我预编译我的资产 以下是命令行中显示的完整错误 rake aborted Uglifier Error U
  • :第n个字母伪元素不起作用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我为我的面包店建立一个网站时 我想制作一个花哨的标题来触发每个字母的颜色 所以我可以利用跨度 但这很累 我想用 first le
  • Solr 4 - 缺少必填字段:uuid

    我在使用 Solr4 中的 dataImportHandler 生成 UUID 时遇到问题 我正在尝试从现有的 MySQL 数据库导入 我的 schema xml 包含
  • 具有特殊结构的多模块项目的 Maven 组装

    我是 Maven 的新手 我想我已经开始了解它是如何工作的了 但我无法理解 Maven 程序集插件 我想要实现的是 当所有项目及其各自的依赖项都已打包后 我希望将它们全部放在目标目录中 我不希望它们被打包成一个超级jar 因为系统是基于模块
  • 为什么提交到 SVN 的最新文件不会立即被 Hudson 拉出来构建

    我有时发现我们的Hudson不会拉最新来自 SVN 的文件版本来构建包 例如 当前最新版本是1201 但Hudson使用1200来构建 你知道幕后的原因吗 当 Hudson 和 Subversion 服务器之间存在时钟偏差时 这是一个常见问
  • 如何在C++中打印成员函数地址

    看起来像std cout无法打印成员函数的地址 例如 include
  • Scala Pickling 和类型参数

    我在用着斯卡拉酸洗 https github com scala pickling Scala 的自动序列化框架 根据作者的幻灯片 http lampwww epfl ch hmiller files oopsla pickling pdf
  • 无法理解CYK算法伪代码

    我正在读关于CYK算法 https en wikipedia org wiki CYK algorithm 并且有一部分伪代码我无法理解 整个伪代码是 let the input be a string S consisting of n
  • FireFox 中的$插值错误

    我的日期从数据库中出来 如下所示 2013 11 21 17 43 20 以下代码在 FireFox 中存在错误 但在 Chrome 中完美运行 ul class job lookup results style padding 0 10p
  • android intellij 切换 nullpointerException

    我正在尝试将一个开关小部件放入 IntelliJ 中的活动中 当我这样做时 设计器崩溃 并在 android widget Switch jumpDrawablesToCurrentState 内出现 NullPointException
  • 为什么我的 lein re-frame 模板中有 clj 和 cljs 文件夹?

    为什么我的 lein re frame 模板中有 clj 和 cljs 文件夹 如下所示 为什么它们都包含名为 core似乎使用相同的命名空间 有人告诉我这是学习重新构建时的起点 但我找不到任何解释为什么模板会这样设置或创建 包括它们包含的
  • JIRA 与 Python

    我对 Python 世界还很陌生 刚刚阅读了一些文档并想要开始 我想设计一个用 Python 编写的工具 从 JIRA 中提取已由我们的 QA 团队标记为已解决的问题 然后显示每个版本中错误修复的漂亮 html 报告 我试图了解从 Pyth
  • Android Gradle 插件如何处理库中的资源冲突?

    我有一个 Android 应用程序项目 它依赖于两个 Android 库 这两个Android库指定了具有相同资源ID的两个资源 在旧的 Ant 构建系统中 库的优先级是在 project properties 文件中指定的 但在 Grad
  • Cakephp 3 - 运行 phpunit 测试时出现 MissingDatasourceConfigException

    我正在尝试使用 PHPUnit 4 7 3 在 CakePHP 3 中运行一些单元测试 但出现以下错误 PHPUnit 4 7 3 by Sebastian Bergmann and contributors There was 1 err
  • 通过 WebFlux 中的过滤器向传出请求添加标头

    我正在将 Java Spring WebFlux 用于客户端和服务器 并且我想通过向其添加自定义标头来自定义从客户端到服务器的请求 我已经将 WebFilter 用于另一个目的 但它似乎只适用于传入请求和响应 例如来自 FE 的请求及其响应