网关断言的使用

断言(Predicate)可以简单理解为前置的filter,如果符合要求放行,否则返回

例如:
    predicates:
            - Path=/user/**

介绍常用的断言

1. - After=2020-07-21T11:33:33.993+08:00[Asia/Shanghai]   指定日期之后的请求进行路由

2. - Before=2020-07-21T11:33:33.993+08:00[Asia/Shanghai]  指定日期之前的请求进行路由

3. - Between=2020-07-21T11:33:33.993+08:00[Asia/Shanghai], 2020-07-21T11:33:33.993+08:00[Asia/Shanghai] 指定在什么日期期间

4. - Cookie=username,gzy   - Cookie=username,[A-Za-z0-9]+ (正则表达式)	基于指定cookie的请求进行路由

5. - Header=X-Request-Id, \d+	基于请求头中的指定属性的正则匹配路由(这里全是整数)

6. - Method=GET,POST 基于指定的请求方式请求进行路由

7. - Path=/xxx/xxx  基于路径方式的断言

官方更多: https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.3.RELEASE/reference/html/#the-cookie-route-predicate-factory

使用断言

spring:
  application:
    name: GATEWAY
  cloud:
    consul:
      host: localhost
      port: 8500
    gateway:
      routes:
        - id: user_route
          uri: lb://USERS
          predicates:
            - Path=/user/**
            - After=2020-07-21T11:39:33.993+08:00[Asia/Shanghai]
            - Cookie=username,[A-Za-z0-9]+
            - Header=X-Request-Id, \d+
posted @ 2021-10-01 21:57  code-G  阅读(266)  评论(0编辑  收藏  举报