1.引入pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
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
``