spring-cloud-alibaba-gateway

Posted 张含韵好可爱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-cloud-alibaba-gateway相关的知识,希望对你有一定的参考价值。

首先导入pom依赖

  <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>0.2.1.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

这儿一定要注意,不要有spring-boot-starter-web  这个依赖,否则会报错,会出现版本依赖冲突

application.yml的配置文件

 

spring:
  application:
    name: nacos-discovery-gateway-server
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
#路由规则
    gateway:
      routes:
        - id: nacos-first #nacos的服applicatiion的name
          uri: lb://nacos-first
          #下面这两个是映射规则
          #这个是拦截以/demo/开始的下面的所有路径
          predicates:
            - Path=/demo/**
#          如果没有下面这个需要在服务名为nacos-first的application.yml文件中使用servlet:context-path: /demo才可以使用
          #这个是在映射的时候去掉demo,比如你请求的是http://localhost:8081/demo/first 会给你映射为 http://localhost:8083/first 
          filters:
            - StripPrefix=1

 

主类添加注解

@EnableDiscoveryClient

gateway的集成就完成了

 

以上是关于spring-cloud-alibaba-gateway的主要内容,如果未能解决你的问题,请参考以下文章