-
soul网关介绍及启动网关 见 第一章
-
网关加载 springcloud 插件
Pom.xml 引入springcloud相关插件,springcloud用eureka做注册中心,所以也要引入eureka
<!--soul springCloud plugin start--> <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-springcloud</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-commons</artifactId> <version>2.2.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> <version>2.2.0.RELEASE</version> </dependency> <!--soul springCloud plugin start end--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>2.2.0.RELEASE</version> </dependency>
-
在application.yml 添加连接eureka 的配置
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true
-
-
启动eureka,可以用官方提供的程序soul-examples-eureka
-
启动soul-admin 在控制台开启springcloud插件
-
执行SoulBootstrapApplication 启动网关
-
springcloud微服务接入网关,以官方提供的soul-examples-springcloud 做示例
-
修改pom引入依赖
<!-- 接入网关必须的jar --> <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-client-springcloud</artifactId> <version>${soul.version}</version> </dependency> <!-- 使用eureka做注册中心 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>${spring-cloud.version}</version> </dependency>
-
application.yml 加入配置
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ # 连接eureka注册中心 soul: springcloud: admin-url: http://localhost:9095 # 接口信息推送到网关控制台 context-path: /springcloud
-
接口类加入注解 SoulSpringCloudClient 该类到接口信息被推送到网关控制台
@RestController @RequestMapping("/test") @SoulSpringCloudClient(path = "/test/**") public class TestController { @GetMapping("/findByUserId") public UserDTO findByUserId(@RequestParam("userId") final String userId) { UserDTO userDTO = new UserDTO(); userDTO.setUserId(userId); userDTO.setUserName("hello world spring cloud findBy user"); return userDTO; } }
-
执行 SoulTestSpringCloudApplication 启动服务
启动成功后控制台(访问 http://localhost:9095 用户名 admin 密码123456) 查看springcloud 插件 将看到推送上来的接口信息,如上图
-
通过网关访问接口,如下图,访问成功
-
总结: springcloud 接入soul网关就那么简单