SpringCloud Gateway Predicate断言

Predicate(断言;谓词)用于进行条件判断,是由断言返回都返回TRUE,才会真正执行路由

SpringCloudGateway 包括许多内置的断言工厂,所有这些断言都与HTTP请求的不同属性匹配。

基于Datatime类型的断言工厂

此类型的断言根据时间做判断

AfterRoutePredicateFactory 接收一个日期参数,判断请求日期是否晚于指定日期 BeforeRoutePredicateFactory 接收一个日期参数,判断请求日期是否晚于指定日期 BetweenRoutePredicateFactory 接收两个日期参数,判断请求日志是否在指定的时间段内

-After=2022-01-01T00:00:00.000+08:00[Asia/Shanghai]

基于远程地址的断言工厂

RemoteAddrRoutePredicateFactory 接收一个IP地址段,判断请求主机的地址是否在地址段中

-RemoteAddr=192.168.0.1/255

基于Cookie的断言工厂

CookieRoutePredicateFactory 接收两个参数,cookie名字和一个正则表达式。判断请求cookie是否具有给定名称且值与正则表达式匹配。

-Cookie=

基于Header的断言工厂

HeaderRoutePredicateFactory 接收两个参数,标题名称和正则表达式。判断请求Header中是否包含指定的名称且值与正则表达式匹配。

-Header=

基于Host的断言工厂

HostRoutePredicateFactory 接收一个参数,主机名模式。判断请求的Host是否满足条件。

-Host=*.xxx.com

基于Method请求方法的断言工厂

MethorRoutePredicateFactory 接收一个参数,判断请求类型是否跟指定类型匹配、

-Method=GET

基于Path请求路径的断言工厂

PathRoutePredicateFactory 接收一个参数,判断请求的URI部分是否满足路径规则

-Path=/product/{xx}

基于Query参数的断言工厂

QueryRoutePredicateFactory 接收两个参数。请求参数名称和正则表达式,判断请求参数是否具有给定的参数,且值与正则表达式匹配。

-Query=

基于路由权重的断言工厂

WeightRoutePredicateFactory 接收一个[组名,权重],然后对这个组内的路由按照权重转发

routes:
    -id: weight_route_1
    uri: host1
    predicates:
        -Path=/product/**
        -Weight=group1,1
    -id: weight_route_2
    uri: host2
    predicates:
        -Path=/product/**
        -Weight=group1,9
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值