1.引入pom依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
- 2.application.yml 配置文件
spring:
profiles:
active: @activedProfile@ #多環境的配置
jackson:
date-format: yyyy-MM-dd HH:mm:ss #設置時間格式
timeZone: GMT+8 #設置時區 GMT+8北京時間
http:
encoding:
charset: UTF-8#設置編碼格式解決論碼問題
enabled: true
force: true
cloud:
gateway:
discovery:
locator:
lowerCaseServiceId: true #true:我們就可以通過小寫的服務名稱進行訪問 false:服務名稱必須大寫
#(其實寫true和false都可以用小寫去路由)
enabled: true#是否與服務註冊於發現組件進行結合,通過 serviceId 轉發到具體的服務實例。默認爲false,
#設爲true便開啓通過服務中心的自動根據 serviceId 創建路由的功能
#(其實寫true和false都可以用實例名去路由)
routes:
- id: tenant-service#唯一id ,不定義的話爲一個uuid
uri: lb://tenant-service #http請求爲lb://前綴 + 服務id;ws請求爲lb:ws://前綴 + 服務id;表示將請求負載到哪一個服務上
order: 8092 # 越小越優先
predicates:#斷言 只有符合這個規則的請求才會走這個路由 備註:(斷言爲一個數組,每個規則之間爲並且的關係。)
- Path=/api/tenant/**# 路徑匹配規則:所有的/api/tenant/**路徑都會被轉發到tenant-service服務上
filters:#請求轉發前的filter,爲一個數組
- StripPrefix=1 #請求轉發前截掉/api/
- id: account-service
uri: lb://account-service #
order: 8093
predicates:
- Path=/api/account/**
filters:
- StripPrefix=1
``