谓词 Between · SpringCloud微服务实战 · 看云

3.谓词 Between

导航

可以看出来,谓词的操作跟数据库有点类似,网关提供了between 的操作,区别就是该谓词匹配在指定日期时间之间发生的请求。不在这个之间的就会返回404。

本节代码地址


再提一下,如果想打印当前时区的时间,用以下代码

System.out.println(ZonedDateTime.now());

3.1 应用配置

这里上半部分的部分仍然没变,下面的配置我们替换了between_route的profile,我们这里这是的时间范围需要设置两个时间值,中间用逗号隔开,时间范围是2020年1月8号到2091年1月8号。时间在这个之间的范围内的将会被转发,否则返回404

server:
  port: 8699
spring:
  application:
    name: fw-gateways-gateway
  profiles:
    active: between_route
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
---
spring:
  cloud:
    gateway:
      routes:
        - id: between_route
          uri: lb://fw-cloud-ribbon-server
          predicates:
            - Between=2020-01-08T18:30:11.965+08:00[Asia/Shanghai],2091-01-08T18:30:11.965+08:00[Asia/Shanghai]
  profiles: between_route

3.2 应用启动和测试

cea4d7a34589a5637dbb6407e6ae11b7_MD5.webp

浏览器或Postman 输入地址localhost:8699/user/2
49a0088efd0d473d8e4d3162f171ce98_MD5.webp