SpringCloudGateway的路由断言工厂Route Predicate Factory

本文介绍了SpringCloudGateway中的断言规则,如Path、After、Before等,以及如何通过PredicateFactory读取用户定义的条件进行路由判断。只需关注Path,其他规则可参考官方文档进行配置。
摘要由CSDN通过智能技术生成

        我们在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory(路由断言工厂)读取并处理,转变为路由判断的条件。

        简单来说:断言工厂的作用就是读取用户定义的断言条件,对请求作出判断

        例如Path=/user/**是按照路径匹配,这个规则是由org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory类来处理的,像这样的断言工厂在SpringCloudGateway还有十几个:

名称说明示例
After是某个时间点后的请求- After=2037-01-20T17:42:47.789-07:00[America/Denver]
Before是某个时间点之前的请求- Before=2031-04-13T15:14:47.433+08:00[Asia/Shanghai]
Between是某两个时间点之前的请求- Between=2037-01-20T17:42:47.789-07:00[America/Denver], 2037-01-21T17:42:47.789-07:00[America/Denver]
Cookie请求必须包含某些cookie- Cookie=chocolate, ch.p
Header请求必须包含某些header- Header=X-Request-Id, \d+
Host请求必须是访问某个host(域名)- Host=.somehost.org,.anotherhost.org
Method请求方式必须是指定方式- Method=GET,POST
Path请求路径必须符合指定规则- Path=/red/{segment},/blue/**
Query请求参数必须包含指定参数- Query=name, Jack或者- Query=name
RemoteAddr请求者的ip必须是指定范围- RemoteAddr=192.168.1.1/24
Weight权重处理

        我们只需要掌握Path这种路由工程就可以了。对于其他的如果需要用的话直接去看官方文档就好了,那里会给出例子,我们直接按照他给的格式来改就好了。

        这里给出Spring的中文文档网址:

Spring Cloud Gateway 中文文档 (springdoc.cn)icon-default.png?t=N7T8https://springdoc.cn/spring-cloud-gateway/#after        例如:如果我们设置如下断言规则时,表示

  • 只要路径时以/order开头的都可以
  • 只要在2017年1月20日之后才可以访问
predicates:
  - Path=/order/**
  - After=2017-01-20T17:42:47.789-07:00[America/Denver]

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值