重定向时向 Zuul 添加标头

2023-11-26

我正在尝试使用Zuul将调用重定向到其他地方的下游系统。 在重定向中,我需要添加一个包含必要数据的标头api接收重定向以进行处理。我似乎无法让下游系统检测到这些数据。附件是我的代码。 我在用Zuul from Edgware.SR3, Spring Boot 1.5.12

Zuul过滤器

@Component
public class RouteFilter extends ZuulFilter{

@Override
public Object run() {
//Testing to add header
    context.getRequest().getParameterMap().put("api", new String[]{"api"});
    context.getResponse().setHeader("api", api);
    context.addZuulResponseHeader("api", "api");
    context.addZuulRequestHeader("api", "api");
    context.setSendZuulResponse(false);
    context.put(FORWARD_TO_KEY, redirect_urls.get(key));
    context.setResponseStatusCode(HttpStatus.SC_TEMPORARY_REDIRECT);
    context.getResponse().sendRedirect(redirect_urls.get(key));
    return null;
}
}

重定向服务代码

@RequestMapping(value = "/forward")
public ResponseEntity<String> forwardToMe(@RequestHeader(required = true, name = "api")String api){
    return new ResponseEntity<String>("Hi",HttpStatus.OK);
}

邮递员收到错误

{ “时间戳”:1524737817729, “状态”:400, "error": "错误的请求", "异常": "org.springframework.web.bind.ServletRequestBindingException", "message": "字符串类型的方法参数缺少请求标头 'api'", “前进的道路” }


我猜你用的是路由过滤器,也许你可以尝试使用前置过滤器.

添加自定义标头可以通过以下方式完成:context.addZuulRequestHeader("Authorization", "Basic " + credentials);.

对于重定向部分,你可以检查这个thread

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

重定向时向 Zuul 添加标头 的相关文章

  • jvm中本机代码如何转换为机器代码[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我读过一些文章说 jvm将字节码转换为机器码 jvm将字节码转换为本机代码 jvm 将字节码转换为系统调用 系统调用又由操作系统与硬件
  • Java中的文字赋值[重复]

    这个问题在这里已经有答案了 定义上有什么区别 double example 23 1d or double example 23 1 为什么long float double可以以l f d结尾 之间没有区别double example 2
  • Java Spark DataFrameReader java.lang.NegativeArraySizeException

    学习 Spark for java 并尝试阅读 csv文件为DataFrame使用DataFrameReader 甚至不能得到一个超级简单的 csv文件工作 因为我不断收到异常java lang NegativeArraySizeExcep
  • 初始堆大小无效。无法创建Java虚拟机

    我遇到了下一个问题 我尝试通过startup bat手动启动Tomcat 但似乎没有显示任何结果 然后我尝试运行shutdown bat 控制台显示如下 D apache tomcat 7 0 35 bin gt startup bat U
  • AffineTransform.rotate() - 如何同时缩放、旋转和缩放?

    我有以下代码 它可以完成我想要绘制一个上面有一些棋子的棋盘的 第一部分 Image pieceImage getImage currentPiece int pieceHeight pieceImage getHeight null dou
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w
  • 如何在Java中打印保留2位小数的浮点数?

    我可以用System out print 您可以使用printf http java sun com j2se 1 5 0 docs api java io PrintStream html printf 28java lang Strin
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 两条腿的 OAuth 和 Gmail Atom feed

    我们正在尝试让 2 legged OAuth 与 Gmail Atom feed 一起使用 我们使用 John Kristian Praveen Alavilli 和 Dirk Ba lfanz 贡献的 Java 库 http oauth
  • 如何允许Spring Boot中启用CORS的所有请求?

    In my 弹簧靴应用程序 目前我有这样的课程 SpringBootApplication public class TestApplication public static void main String args SpringApp
  • java中日期转换dd-MMM-yyyy到dd-MM-yyyy

    在Java中将23 Mar 2011转换为23 03 2011的最简单方法是什么 感谢大家 这似乎解决了这个问题 try Calendar cal Calendar getInstance cal setTime new SimpleDat
  • JFrame Glasspane 也优于 JDialog,但不应该

    我有一个带有 Glasspane 的 JFrame 未装饰 该框架打开一个 JDialog 也未装饰 也有一个 glassPane 并隐藏自身 setVisible false Glasspanes 通过 setGlassPane 设置 对
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • 如何在Java中模拟引用传递?

    我是一个十足的 Java 菜鸟 我知道 Java 将所有参数视为按值传递 并且还有其他几个线程人们对此进行了解释 例如 在 C 中我可以这样做 void makeAThree int n n 3 int main int myInt 4 m
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • 如何在速度模板中检索哈希图值

    如何从速度模板中的以下哈希图中检索值 请帮忙 LinkedHashMap
  • Spring Transactional 减慢了整个过程

    我正在尝试分析我有两堂课的情况 其中一个类是 ProcessImpl 它是起点并在内部调用其他子事务 我不知道出了什么问题 processImpl正在导入一些东西并将相关数据写入数据库 Specs Spring orm版本 3 2 18 发
  • Lucene/Hibernate 搜索锁定异常

    我使用 Hibernate Search 在 Web 应用程序上索引和全文搜索项目 没有问题 来自我的 pom xml

随机推荐

  • React-native:“无法连接到开发服务器”- Android 应用程序

    我正在遵循启动react js 的指南 http code tutsplus com tutorials creating a dictionary app using react native for android cms 24969我
  • 当某些条件成立时 Scala FoldLeft

    如何在 Scala 中模拟以下行为 即在满足累加器上的某些特定条件时继续折叠 def foldLeftWhile B z B p B gt Boolean op B A gt B B 例如 scala gt val seq Seq 1 2
  • 如何使用 Cucumber 测试确认对话框?

    我正在将 Ruby on Rails 与 Cucumber 和 Capybara 一起使用 我将如何测试一个简单的确认命令 你确定吗 另外 我在哪里可以找到有关此问题的更多文档 硒驱动程序现在支持这个 从 Capybara 中 您可以像这样
  • 为什么 std::array::size constexpr 具有简单类型(int、double、...)而不是 std::vector (GCC)?

    以下代码 std array
  • js while(true){} 阻止事件循环

    setInterval function console log hello 2000 while true hello 永远不会被打印 我认为事件循环在不同的线程中运行 但这里似乎 while 循环 阻止了 事件循环 的执行 有人可以解释
  • 从 FF 中的选择框中删除轮廓

    是否可以删除选择元素中所选项目周围的虚线 我尝试添加outlineCSS 中的属性但它不起作用 至少在 FF 中不起作用 Update在继续删除大纲之前 请阅读本文 http www outlinenone com Well 双像素的答案简
  • 将模板传递给“rails new”

    当调用 rails new 时 显然可以通过 m 命令行参数传递某种模板或设置脚本 我发现这个通过https github com fortuity rails3 mongoid devise wiki Tutorial 演练 And ht
  • 由空格分隔的两个字符串自动连接

    我刚刚发现了一些非常有趣的东西 这是由我的打字错误引入的 这是一个非常简单的代码脚本示例 printf A B 结果将是 gt AB 有人可以解释这是如何发生的吗 作为 C 标准的一部分 相邻的字符串文字被连接起来 对于C 引用C99 但C
  • 谷歌分析 API V3 / OAuth 2

    我拼命地试图自己解决这个问题 并且不想带着这个问题来解决这个问题 但我已经束手无策了 不感谢 api oauth 文档 我正在 PHP 中工作 我试图避免使用Google Client and AnalyticsService类 通过使用
  • Android 中的并发文件访问

    我知道许多操作系统对文件系统执行某种锁定以防止视图不一致 Java 和 或 Android 对文件访问的线程安全性有任何保证吗 在我自己编写并发代码之前 我想尽可能多地了解这一点 如果我错过了已回答的类似问题 请随时关闭此线程 谢谢 And
  • 服务发现如何与现代 docker/docker-compose 一起工作?

    我正在使用 Docker 1 11 1 和 docker compose 1 8 0 rc2 在过去的美好时光 所以 去年 你可以建立一个docker compose yml像这样的文件 app image myapp frontend i
  • 使用 pika 发布消息时如何添加标头键:值对

    我正在编写一个自动化测试来测试消费者 到目前为止 我在发布消息时不需要包含标头 但现在我需要了 而且似乎缺乏文档 这是我的出版商 class RMQProducer object def init self host exchange ro
  • NSView 的自动调整大小行为

    我需要了解 NSView 如何自动调整其视图的大小 我已经在 IB 中设置了所有内容 并且我的子视图可以很好地调整大小 当我用鼠标调整窗口大小时 但是 如果我这样做 myMainView setFrame 使用我的新框架矩形 什么也没有发生
  • 如何将html5输入类型日期和时间转换为javascript日期时间

    我正在使用 html5 输入类型 日期和时间 如何将表单输入类型转换为javascript对象日期 其中包含时间 这是我的代码的一部分
  • 在 .NET 中使用 XML 注释有哪些优点?

    我无法理解使用 XML 注释的优点 我知道它们可以转换为代码外部的漂亮文档 但使用更简洁的 DOxygen 语法也可以实现同样的效果 我认为 XML 注释是错误的 因为 他们总体上混淆了注释和代码 它们更难被人类阅读 在单个屏幕上可以查看的
  • ggplot2:y 轴标签在绘图区域内左对齐

    我正在寻找一种自动移动 y 轴刻度标签的方法 以便它们显示左对齐within实际地块面积 我喜欢 ggplot 中主题组件的总体灵活性 但在尝试找到通用方法来实现此目的时遇到了困难 我知道给予axis text y的组合hjust 0负右边
  • cmake 是否可以选择避免使用未定义的变量(如 bash set-u)

    Does cmake有一种在使用未定义变量时生成错误的机制 有点像set u选项中bash 我有一个由多个项目组成的大项目CMakeLists txt文件 大约 1500 行 所以使用这种结构是相当困难的 if NOT DEFINED VA
  • 在 Angular 2 中重置模板驱动的表单(模型和验证)

    我们如何重置控件的验证状态模板驱动角度 2 的形式 我知道可以通过设置控件所绑定的模型值来重置控件 但是验证状态 原始 肮脏等 又如何呢 我尝试过这样的事情
  • 有没有办法在 C 中进行柯里化?

    假设我有一个指向函数的指针 stack push stack stk void el 我希望能够打电话curry stack push my stack 并返回一个只需要的函数void el 我想不出一种方法来做到这一点 因为 C 不允许运
  • 重定向时向 Zuul 添加标头

    我正在尝试使用Zuul将调用重定向到其他地方的下游系统 在重定向中 我需要添加一个包含必要数据的标头api接收重定向以进行处理 我似乎无法让下游系统检测到这些数据 附件是我的代码 我在用Zuul from Edgware SR3 Sprin