spring cloud gateway全局过滤器实现向request header中放数据

网友投稿 1409 2022-12-27

spring cloud gateway全局过滤器实现向request header中放数据

spring cloud gateway全局过滤器实现向request header中放数据

gateway全局过滤器向request header放数据

exchange.getRequest().getHeaders().set();

是不能向 headers中放文件的

这时配置一个gateway全局过滤器 filter中 做了向 header放数据

@Component

public class AuthSignatureFilter implements GlobalFilter, Orderhttp://ed {

static Logger logger = LoggerFactory.getLogger(AuthSignatureFilter.class);

/**

* 全局过滤器 核心方法

* @param exchange

* @param chain

* @return

*/

@Override

public Mono filter(ServerWebExchange exchange, GatewayFilhttp://terChain chain) {

logger.info("request = {}",jsONArray.toJSONString( exchange.getRequest()) );

String token = exchange.getRequest().getQueryParams().getFirst("authToken");

//向headers中放文件,记得build

ServerHttpRequest host = exchange.getRequest().mutate().header("a", http://"888").build();

//将现在的request 变成 change对象

ServerWebExchange build = exchange.mutate().request(host).build();

return chain.filter(build);

}

@Override

public int getOrder() {

return -200;

}

}

这样发送给路由的request中就放了我们自定义的数据了

2019-11-19 更新

此方法在新版本中已经过时 使用新方法新方法

Consumer httpHeaders = httpHeader -> {

httpHeader.set("aaaa", "bbb");

httpHeader.set("xxx", "cc");

httpHeader.set("bbxx", "bbbx");

httpHeader.set("aaaa", "bbb");

};

ServerHttpRequest serverHttpRequest = exchange.getRequest().mutate().headers(httpHeaders).build();

exchange.mutate().request(serverHttpRequest).build();

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:三明小程序app(三明小程序APP厦门小程序定制公司哪家好)
下一篇:浅谈springcloud gateway 连接保活问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~