zoukankan      html  css  js  c++  java
  • 路由断言工厂Route Predicate Factory

    网关路由可以配置的内容包括:

    • 路由id:路由唯一标示
    • uri:路由目的地,支持lb和http两种
    • predicates:路由断言,判断请求是否符合要求,符合则转发到路由目的地
    • filters:路由过滤器,处理请求或响应

    配置文件中写的断言规则只是字符串,这些字符串会被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

    权重处理

     
  • 相关阅读:
    Debian 7 amd64 + fbterm + ucimf
    golanggorilla/mux,强大的URL路由和调度器
    Debian 7 amd64问题
    在mysql启用远程连接
    golang从类型转换角度看interface
    golang监控goroutine异常退出
    golangRedis最佳的Go语言驱动
    usaco Scrambled Letters
    usaco Milk Routing
    滚动数组出错的原因都有那些?&poj3254
  • 原文地址:https://www.cnblogs.com/WarBlog/p/15432223.html
Copyright © 2011-2022 走看看