Spring cloud gateway SpringCloudGateway-在将请求路由到下游系统之前,使用GlobalFilter添加动态标头

Spring cloud gateway SpringCloudGateway-在将请求路由到下游系统之前,使用GlobalFilter添加动态标头,spring-cloud-gateway,spring-reactive,spring-reactor,Spring Cloud Gateway,Spring Reactive,Spring Reactor,在将请求传递给下游之前,我试图为所有请求头添加动态值 exchange.getRequest().mutate() .header(HttpHeaders.AUTHORIZATION, "Bearer ".concat(token)) .build() 我创建了一个用户定义的类,它实现了org.springframework.cloud.gateway.filter.GlobalFilter 在这个类中,我必须调用其他服务(2个reactiveredis和1个a

在将请求传递给下游之前,我试图为所有请求头添加动态值

exchange.getRequest().mutate()
        .header(HttpHeaders.AUTHORIZATION, "Bearer ".concat(token))
        .build()
我创建了一个用户定义的类,它实现了
org.springframework.cloud.gateway.filter.GlobalFilter

在这个类中,我必须调用其他服务(2个reactiveredis和1个api调用)来检索需要在header中设置的动态值

这是我现在面临的问题

@Override
  public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
    return chain.filter(exchange);
  }
为了避免这个问题,我在mono订阅中添加了延迟

chain.filter(exchange).delaySubscription(持续时间300L))

但我不想在系统中引入手动延迟,请您指导/建议我更好的解决方案,这样GatewayFilterChain就不会在其他mono订阅完成之前被订阅