[spring cloud gateway]yml中predicate 和filter的两种配置方式

在yml配置gateway有两种方式如下:

  • Shortcut configuration:简洁型写法
  • Fully expanded arguments:复杂型写法

Shortcut configuration

这种方式就是直接通过key=name,value这种形式进行配置,如下

意思就是:cookie中必须有一个名字位mycookie的属性,他的值必须是mycookievalue才能让其调转到对应的uri设置的路由上,关于这个配置的作用,在后面的章节中会介绍

Fully expanded arguments

这个叫法是相对于shortcut configuration的,因为这种方式需要详细详细写出每一项。直接看下图就明白了,下图是shortcut configuration中配置的Fuly expanded arguments形式。两者等价,但是配置的样子不同。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud Gateway可以通过HttpHeader Filters打印所有头,具体配置方式如下: 1.在pom.xml文件添加spring-cloud-starter-gateway依赖。 2.在application.yml配置Gateway路由规则,例如: ``` spring: cloud: gateway: routes: - id: test_route uri: http://localhost:8080/test predicates: - Path=/test/** filters: - name: HttpHeadersFilter args: name: X-Request-Id value: test-value ``` 这里配置了一个名为test_route的路由,将请求转发至http://localhost:8080/test,其使用了Path路由谓词,只有请求路径以/test/开头的请求才会被路由到该路由。同时,使用了HttpHeadersFilter过滤器,打印所有头的X-Request-Id头,并设置其值为test-value。 3.编写HttpHeadersFilter过滤器,例如: ``` @Component public class HttpHeadersFilter implements GatewayFilter, Ordered { private static final Logger log = LoggerFactory.getLogger(HttpHeadersFilter.class); private static final String HEADER_NAME = "X-Request-Id"; @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { HttpHeaders headers = exchange.getRequest().getHeaders(); headers.forEach((name, values) -> { log.info("{}: {}", name, values); }); return chain.filter(exchange); } @Override public int getOrder() { return -1; } } ``` 该过滤器实现了GatewayFilter接口,重写了filter方法,在该方法打印了所有请求头,并调用了chain.filter方法继续执行后续过滤器。 4.启动应用程序,并向http://localhost:8080/test发送请求,可以看到控制台输出了所有请求头信息,包括X-Request-Id头和其值为test-value。 综上所述,通过HttpHeader Filters可以轻松打印所有头信息,方便进行调试和排查问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值