成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解Spring Cloud Gateway應用1之謂詞

系統
客戶端調用spring cloud gateway配置的請求。根據配置的映射確定請求與路由,將其發送到網關Web處理程序。

[[375771]]

 環境:springboot2.3.7 + spring cloud Hoxton.SR9

Spring Cloud Gateway工作流程:

Spring Cloud Gateway應用詳解1之謂詞

客戶端調用spring cloud gateway配置的請求。根據配置的映射確定請求與路由,將其發送到網關Web處理程序。此處理程序通過特定于請求的過濾器運行請求。過濾器被虛線分割的原因是,過濾器可以在代理請求發送之前和之后運行邏輯。執行所有“pre”過濾器邏輯。然后發出代理請求。在發出代理請求之后,運行“post”過濾器邏輯。

一. 路由謂詞

1.After 路由謂詞工廠

作用:After 謂詞工廠接受一個參數datetime(它是java ZonedDateTime)。此謂詞匹配在指定日期時間之后發生的請求。以下示例配置After Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: after_route 
  11.         uri: https://www.baidu.com 
  12.         predicates: 
  13.         - After=2021-01-10T17:42:47.789-07:00   

 所有的請求必須在2021-01-10T17:42:47.789-07:00之后才能訪問。當超過當前配置的這個時間,請求會返回404。

測試:

當前時間:2021-01-11 17:09

After=2021-01-10T17:42:47.789-07:00


正常調整到了頁面:

設置:

After=2021-01-20T17:42:47.789-07:00

 

 

2.Before 路由謂詞工廠

作用:Before 謂詞工廠接受一個參數datetime(它是java ZonedDateTime)。此謂詞匹配在指定日期時間之前發生的請求。以下示例配置Before Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: before_route 
  11.         uri: https://www.qq.com 
  12.         predicates: 
  13.         - Before=2021-01-10T17:42:47.789-07:00 

 運行結果與After正好相反。

3.Between 路由謂詞工廠

作用:Between謂詞工廠接受兩個參數datetime(它是java ZonedDateTime)。此謂詞匹配請求必須在兩個日期之間發生。以下示例配置Between Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: between_route 
  11.         uri: https://www.163.com 
  12.         predicates: 
  13.         - Between=2021-01-01T17:42:47, 2021-01-10T17:42:47 

 請求必須位于2021-01-01T17:42:47到2021-01-10T17:42:47之間,如果超過這個日期范圍返回

404。

失敗:

配置:Between=2021-01-01T17:42:47, 2021-01-10T17:42:47

 

 

4.Cookie 路由謂詞工廠

作用:只有網關請求中包含指定的cookie 才能匹配,否則404。以下示例配置Cookie Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: cookie_route 
  11.         uri: https://www.baidu.com 
  12.         predicates: 
  13.         - Cookie=code,testiptv255 

 當請求header中包含的Cookie中包含name為code,值為testiptv255時,請求才能被匹配。

示例:

 

 

當不包含name為code的cookie時請求返回404。

5.Header 路由謂詞工廠

作用:當請求中包含指定的Header信息時,請求才能匹配。以下示例配置Header Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: header_route 
  11.         uri: https://www.baidu.com 
  12.         predicates: 
  13.         - Header=Host,localhost:20000 

 當網關請求Header中包含Host請求頭,并且值為localhost:20000,請求才會被匹配。

示例:

 

 

6.Host 路由謂詞工廠

作用:當請求Header中的Host頭信息為配置中的列表中,那么網關將被匹配。以下示例配置Host Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: host_route 
  11.         uri: https://www.baidu.com 
  12.         predicates: 
  13.         - Host=**.xg.com,localhost:20000 

 當請求Header中的Host取值為:www.xg.com或者xxx.xg.com或者localhost:20000時路由將被匹配:

示例:

 

 

7.Method 路由謂詞工廠

作用:當請求是指定的Method時,路由將被匹配。以下示例配置Method Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: method_route 
  11.         uri: https://www.baidu.com 
  12.         predicates: 
  13.         - Method=GET,POST 

 當請求是GET或者是POST請求時,網關路由將會被匹配。

示例:


8.Path 路由謂詞工廠

作用:當請求的路徑為指定的Path時,路由將會被匹配。以下示例配置Path Route謂詞:

  1. spring: 
  2.   cloud: 
  3.     gateway: 
  4.       enabled: true 
  5.       discovery: 
  6.         locator: 
  7.           enabled: true 
  8.           lowerCaseServiceId: true 
  9.       routes: 
  10.       - id: path_route 
  11.         uri: https://www.baidu.com 
  12.         predicates: 
  13.         - Path=/api-a/{segment},/api-1/{segment} 

 當請求的地址為:http://xxx/api-a/xxx或者是http://xxx/api-1/xxx時,路由將會被匹配;注意:你的目標地址應該有/api-a/xxx和/api-1/xxx這兩個請求地址。

示例:

Spring Cloud Gateway應用詳解1之謂詞

頁面顯示的404是因為http://www.baidu.com/api-a/1沒有這樣的請求地址是baidu返回的404,并不是我們服務器返回的404錯誤。

9.Query 路由謂詞工廠

作用:當請求中包含指定的查詢參數或者是包含指定的查詢參數及值時才匹配路由。以下示例配置Query Route謂詞:

  1. 1、方式1: 
  2. spring: 
  3.   cloud: 
  4.     gateway: 
  5.       enabled: true 
  6.       discovery: 
  7.         locator: 
  8.           enabled: true 
  9.           lowerCaseServiceId: true 
  10.       routes: 
  11.       - id: query_route 
  12.         uri: https://www.baidu.com 
  13.         predicates: 
  14.         - Query=name 
  15. 2、方式2: 
  16. spring: 
  17.   cloud: 
  18.     gateway: 
  19.       enabled: true 
  20.       discovery: 
  21.         locator: 
  22.           enabled: true 
  23.           lowerCaseServiceId: true 
  24.       routes: 
  25.       - id: query_route 
  26.         uri: https://www.baidu.com 
  27.         predicates: 
  28.         - Query=name,admin 

 方式1:當請求中只要包含name參數即可。

Spring Cloud Gateway應用詳解1之謂詞

方式2:當請求中包含name參數名并且值為admin時匹配路由。

Spring Cloud Gateway應用詳解1之謂詞

當值非admin時返回404。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-01-14 08:13:39

Spring Clou應用內置過濾器

2023-02-15 08:12:19

http超時過濾器

2024-04-03 08:08:15

謂詞網關開發

2024-07-29 08:24:43

2023-05-04 08:09:33

serviceId路徑謂詞中心注冊

2023-03-08 09:03:55

2017-07-03 08:29:42

Spring Clou服務詳解

2023-04-14 09:01:25

2023-02-20 10:13:00

灰度發布實現

2023-01-26 01:41:27

核心全局過濾器

2021-11-04 10:11:02

Sentinel網關限流

2024-05-13 18:35:06

負載均衡主機端口

2017-07-11 14:48:33

Spring Clou服務提供者

2017-08-18 15:14:04

Spring Clou服務消費者

2022-04-11 07:34:46

OAuth2UAA節點

2019-08-22 09:55:17

RedisAPI數據

2025-02-10 00:23:11

Spring微服務架構

2024-01-29 08:00:00

架構微服務開發

2017-09-20 09:46:38

Spring BootSpring Clou內存

2022-08-02 08:32:21

Spring項目網關
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线观看 | 狠狠干综合视频 | 日韩电影免费在线观看中文字幕 | 久久综合色综合 | 国产一极毛片 | 日韩一区二区在线视频 | 亚洲一区二区三区在线视频 | 亚洲最大福利网 | 午夜男人免费视频 | 亚洲成人一区 | 国产一区三区在线 | 国产精品一区二区三区久久久 | 精品国产乱码久久久久久闺蜜 | 欧美激情视频一区二区三区在线播放 | 欧美精品一二区 | 欧美日韩三级在线观看 | 久久久久久久综合色一本 | 丁香婷婷综合激情五月色 | 亚洲精品电影在线 | 天天操天天插 | 成人午夜激情 | 亚洲成av人影片在线观看 | 久久久久久九九九九 | 午夜在线 | 性色av一区 | 在线国产欧美 | 国产精品免费高清 | 91在线精品秘密一区二区 | 日韩视频免费在线 | 亚洲一级毛片 | 欧美成人精品一区二区男人看 | 黄色av网站在线观看 | 国产精品爱久久久久久久 | 国产精品久久国产精品久久 | 97超碰人人 | 黑人精品 | 亚洲热在线视频 | 中文字幕第二区 | 亚洲精品国产第一综合99久久 | 美女黄18岁以下禁止观看 | 日韩欧美不卡 |