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的集成就完成了