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

导航

前面讲解的几个都是跟时间相关的几个判断,下面我们来看下在请求的视角校验Cookie的场景,如果在请求的时候没有设置网关需要的Cookie值,经不会转发并返回404,只有Cookie值匹配才会正确转发

本节代码地址


4.1 应用配置

可以看出配置的上半部分是没有变化的,后面在配置源码验证的时候修改一下spring.profiles.active即可,这里我们在配置中将路由的时候必须设置Cookie 的值为key为fwcloud,value 为hello,key和value 用逗号隔开,如果不携带Cookie,就会返回404。

server:
  port: 8699
spring:
  application:
    name: fw-gateways-gateway
  profiles:
    active: cookie_route
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
---
spring:
  cloud:
    gateway:
      routes:
        - id: cookie_route
          uri: lb://fw-cloud-ribbon-server
          predicates:
            - Cookie=fwcloud, hello
  profiles: cookie_route

3.2 应用启动并测试

482f99a490aa94da4f5e0f6476374cc7_MD5.webp

应用启动之后,利用Postman 输入localhost:8699/user/3即可验证

注意需要在Header中设置Cookie 的值

ff02ae24d8806957067efd1671850a3f_MD5.webp