当前位置:   article > 正文

搭建Spring Cloud Gateway_spring-cloud-starter-gataway pom

spring-cloud-starter-gataway pom

spring boot版本:2.1.10.RELEASE
spring cloud版本:Greenwich.SR4

1.添加pom依赖

<!-- spring gateway依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- eureka依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2.配置服务路由

网上大部分采用 yml 配置,这里采用 application.properties
spring cloud gateway官方文档
参考资料

# 暴露所有的gateway端点
management.endpoints.web.exposure.include=*
# 自动配置注册中心中路由 默认 false关闭
spring.cloud.gateway.discovery.locator.enabled=false
# 开启小写验证,默认feign根据服务名查找都是用的全大写
spring.cloud.gateway.discovery.locator.lowerCaseServiceId=true
# 设置路由id
spring.cloud.gateway.routes[0].id=jz-shop-product
# 设置路由uri uri以lb://开头(lb代表从注册中心获取服务),
# 后面接的就是你需要转发到的服务名称,这个服务名称必须跟eureka中的对应,否则会找不到服务
# 也可以是一个url
spring.cloud.gateway.routes[0].uri=lb://jz-shop-product
spring.cloud.gateway.routes[0].predicates[0]= Path=/shop-product/**
spring.cloud.gateway.routes[0].filters[0]= StripPrefix=1

spring.cloud.gateway.routes[1].id=jz-shop-cart
spring.cloud.gateway.routes[1].uri=lb://jz-shop-cart
spring.cloud.gateway.routes[1].predicates[0]= Path=/shop-cart/**
spring.cloud.gateway.routes[1].filters[0]= StripPrefix=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注意:

  1. 这里配置了两个服务,如果用 predicates 配置了前缀,一定要用 StripPrefix 将前缀去掉,使url与服务中额url一致,否则会报404。
  2. 启动类无需额外添加除 @SpringBootApplication 之外的任何注解。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/301468
推荐阅读
相关标签
  

闽ICP备14008679号