1. 程式人生 > 其它 >SpringCouldGatway閘道器使用gateway閘道器對服務進行訪問沒有反應

SpringCouldGatway閘道器使用gateway閘道器對服務進行訪問沒有反應

技術標籤:spring cloudgateway閘道器java

使用gateway閘道器對服務進行訪問,沒有反應

1.先看註冊中心有有沒有此服務
在這裡插入圖片描述

2. 如果是使用yml檔案一定要注意格式
如果格式出現問題
在這裡插入圖片描述格式所出現的地方會有背景顏色提示
只有格式正確,序列正確是不會出現背景顏色
在這裡插入圖片描述
如上圖,格式就是正確的

閘道器每個節點的作用一定要了解清楚

 cloud:
    gateway:
      discovery:  #是否與服務發現元件進行結合,通過 serviceId(必須設定成大寫) 轉發到具體的服務例項。預設為false,設為true便開啟通過服務中心的自動根據 serviceId 建立路由的功能。
locator: #路由訪問方式:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**,其中微服務應用名預設大寫訪問。 enabled: true lower-case-service-id: true #使用小寫service-id

節點 discovery.locator.enabled作用
是否與服務發現元件進行結合,通過 serviceId(必須設定成大寫) 轉發到具體的服務例項。預設為false,設為true便開啟通過服務中心的自動根據 serviceId 建立路由的功能

locator
: #路由訪問方式:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**,其中微服務應用名預設大寫訪問。 enabled: true

lower-case-service-id: true 作用
使用小寫service-id

這樣配置以後可以通過在閘道器後面加服務名的方式訪問
例如:http://mall-gateway:8201/mall-admin/admin/login

還有routes路由節點
使用了routes節點就去掉discovery節點,兩者選一

  routes:
        - id: admin_route
          uri
: lb://mall-admin predicates: - Path=/admin/** filters: - RewritePath=/admin/(?<segment>.*),/$\{segment}

格式一定要對齊,路由id不能重複,uri中出現的服務名不能再出現path路徑中

在這裡插入圖片描述
如上圖,這樣是錯誤的
uri 是請求轉發的路徑
predicates是斷言 條件判斷 滿足條件才能進行路徑轉發
轉發路徑為 uri+path

**filters是過濾 可以把一些不需要的路徑去掉 **
在這裡插入圖片描述
如上圖 RewritePath 路徑重寫過濾 把admin過濾

官網版本:Gateway詳情功能點此處