springcloud配置gateway

项目地址(gitee): https://gitee.com/qinenqi/online
前提是已经配置好了注册与发现机制(小编用的是nacos)

  1. 引入依赖
 
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-gatewayartifactId>
        dependency>

 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-dependenciesartifactId>
                <version>${spring-cloud.version}version>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>
    
 
<spring-cloud.version>Greenwich.SR3spring-cloud.version>

  1. 新建 application.yml 文件
spring:
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: lb://online-cart
          predicates:
            - Path=/api/cart/**
          filters:
            - RewritePath=/api/(?<segment>.*),/$\{segment}

注:
test_route这个路由的解释:

  • id: test_route 路由的规则,要求唯一,见名知意即可

  • uri
    uri: lb://online-cart: 匹配后提供服务的路由地址(注册中心配置方式,能提供负载均衡的能力)
    uri: http://localhost:8001 匹配后提供服务的路由地址

  • predicates
    predicates:
    - Path=/api/cart/**
    断言 路径相匹配后,进行路由, - Path是路径匹配的方式

  • filters
    filters:

    • RewritePath=/api/(?.*),/${segment}
      过滤 加入:http://localhost:88/api/cart/testController/test 经过断言匹配后,再经过过滤,路由到 http:///online-cart/cart/testController/test

你可能感兴趣的:(springcloud)