目录
1.pom依赖
依赖文件引入gateway依赖(依赖版本对应参考:https://mvnrepository.com),gateway和spring web会有冲突(冲突原因请自行查询,都有相应的解决办法)这里解决方式是用spring-boot-starter-webflux替换spring-boot-starter-web依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2.yml配置
gateway有很多种配置和使用方式,大家可以查一下gateway的详细操作配置,下面是一个简单的操作案例。
server:
port: 8090
spring:
application:
name: gateway-service
cloud:
gateway:
discovery: #发现注册中心的服务
locator:
enabled: true
routes:
- id: admin-route #服务1
#uri: http://localhost:8088/
#这里目标地址有多种方式可以配置 服务名、http地址、websocket
uri: lb://admin-service
#根据admin路径参数拦截请求
predicates:
- Path=/admin/**
- id: pm-route #服务2
uri: lb://pm-service
predicates:
- Path=/pm/**
#转发过滤第一个路径参数
filters:
- StripPrefix=1
httpclient:
connect-timeout: 5000
response-timeout: 5s
3.测试调用
服务信息 | 端口 | |
gateway-service | 网关服务 | 8090 |
admin-service | 服务1 | 8088 |
pm-service | 服务2 | 8089 |
通过postman 访问路径127.0.0.1:8090/admin/list调用服务1的方法