一、 After Route Predicate Factory正則表達式
輸入一個參數:時間,匹配該時間以後的請求,示例配置:spring
spring: cloud: gateway: routes: - id: after_route uri: https://anoyi.com predicates: - After=2019-11-11T11:11:11.111+08:00[Asia/Shanghai]
二、Before Route Predicate Factorycookie
輸入一個參數:時間,匹配該時間以前的請求,示例配置:code
spring: cloud: gateway: routes: - id: before_route uri: https://anoyi.com predicates: - Before=2019-11-11T11:11:11.111+08:00[Asia/Shanghai]
三、Between Route Predicate Factoryblog
輸入兩個參數:時間一、時間2,匹配該時間段的請求,示例配置:rem
spring: cloud: gateway: routes: - id: between_route uri: https://anoyi.com predicates: - Between=2019-11-10T11:11:11.111+08:00[Asia/Shanghai], 2019-11-12T11:11:11.111+08:00[Asia/Shanghai]
四、Cookie Route Predicate Factoryget
輸入兩個參數:Cookie 名稱、正則表達式,匹配 Cookie 中是否存在該名稱且值與正則表達式匹配,示例配置:博客
spring: cloud: gateway: routes: - id: cookie_route uri: https://anoyi.com predicates: - Cookie=name, ano.i
五、Header Route Predicate Factoryit
輸入兩個參數:Header 名稱、正則表達式,匹配 Header 中是否存在該名稱且值與正則表達式匹配,示例配置:io
spring: cloud: gateway: routes: - id: header_route uri: https://anoyi.com predicates: - Header=name, ano.i
六、Host Route Predicate Factory
輸入一個參數:Host Name 表達式列表,匹配 Header 中 Host 字段的值,示例配置:
spring: cloud: gateway: routes: - id: host_route uri: https://anoyi.com predicates: - Host=**.anoyi.cn,**.anoyi.io
七、Method Route Predicate Factory
輸入一個參數:HTTP Method,匹配請求方法,示例配置:
spring: cloud: gateway: routes: - id: method_route uri: https://anoyi.com predicates: - Method=GET
八、Path Route Predicate Factory
輸入兩個參數:Spring PathMatcher
表達式列表、【可選】matchOptionalTrailingSeparator
標識,示例配置:
spring: cloud: gateway: routes: - id: host_route uri: https://anoyi.com predicates: - Path=/foo/{segment},/bar/{segment}
九、Query Route Predicate Factory
輸入兩個參數:請求參數、【可選】正則表達式,匹配請求地址相似於 https://anoyi.com/test?hello=world&name=anoyi
所包含的 request params, 示例配置:
# 僅匹配是否包含參數 hello spring: cloud: gateway: routes: - id: query_route uri: https://anoyi.com predicates: - Query=hello
# 匹配參數 name 是否以 ano 開頭 spring: cloud: gateway: routes: - id: query_route uri: https://anoyi.com predicates: - Query=name, ano.*
十、RemoteAddr Route Predicate Factory
輸入一個參數:IPv4 或 IPv6 地址列表,匹配請求來源的IP地址是否在該列表,示例配置:
spring: cloud: gateway: routes: - id: remoteaddr_route uri: https://anoyi.com predicates: - RemoteAddr=192.168.1.1/24
本文由博客一文多發平臺 OpenWrite 發佈!