话不多说,上来就干
采用soul项目源码中自带的SpringCloud示例项目
项目配置
soul网关项目
依赖
pom文件中增加soul的springcloud相关依赖
<!--soul springCloud plugin start-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-springcloud</artifactId>
<version>${last.version}</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId>
<version>${last.version}</version>
</dependency>
<!--soul springCloud plugin end-->
<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>
注册中心我们采用eureka,需要增加相关依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
配置文件
网关配置文件
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/ # 你的eureka地址
instance:
prefer-ip-address: true
SpringCloud项目
依赖
pom文件中新增soul相关jar包
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-client-springcloud</artifactId>
<version>${last.version}</version>
</dependency>
配置文件
soul:
springcloud:
admin-url: http://localhost:9095
context-path: /springcloud
full: true
# adminUrl: 为你启动的soul-admin 项目的ip + 端口,注意要加http://
# contextPath: 为你的这个mvc项目在soul网关的路由前缀,这个你应该懂意思把? 比如/order ,/product 等等,网关会根据你的这个前缀来进行路由.
# full: 设置true 代表代理你的整个服务,false表示代理你其中某几个controller
注解
在controller层和方法上增加soul的主机@SoulSpringCloudClient
测试
启动zookeeper
启动eureka
启动网关管理admin
启动soul网关
修改管理配置
在网关管理页面中,修改springcloud插件状态为打开 在插件列表,我们可以看到springcloud菜单中,项目的url路径已经被注册在网关中
请求测试
使用postman进行测试 访问成功!