|
|
|
# 使用SpringCloudGateway
|
|
|
|
|
|
|
|
SOP默认网关是使用Spring Cloud Zuul,您也可以切换成Spring Cloud Gateway,完整代码见`SpringCloudGateway`分支。
|
|
|
|
|
|
|
|
**注:**:SOP对Spring Cloud Gateway的支持目前处于beta阶段,推荐使用zuul。
|
|
|
|
|
|
|
|
步骤如下:
|
|
|
|
|
|
|
|
- 打开sop-gateway/pom.xml,注释spring cloud zuul依赖,打开Spring Cloud Gateway依赖
|
|
|
|
|
|
|
|
```xml
|
|
|
|
<!-- ↓↓↓ 使用spring cloud zuul ↓↓↓
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
|
|
|
|
</dependency>
|
|
|
|
-->
|
|
|
|
<!-- ↑↑↑ 使用spring cloud zuul ↑↑↑ -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ↓↓↓ 使用spring cloud gateway,处于beta阶段,推荐使用zuul ↓↓↓ -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
<artifactId>spring-cloud-starter-gateway</artifactId>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<!-- ↑↑↑ 使用spring cloud gateway ↑↑↑ -->
|
|
|
|
```
|
|
|
|
|
|
|
|
- 打开启动类`SopGatewayApplication.java`, 注释zuul相关注解
|
|
|
|
|
|
|
|
```java
|
|
|
|
package com.gitee.sop.gateway;
|
|
|
|
|
|
|
|
import org.springframework.boot.SpringApplication;
|
|
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
|
|
//import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
|
|
|
|
|
|
|
|
// 开启网关功能
|
|
|
|
//@EnableZuulProxy
|
|
|
|
@SpringBootApplication
|
|
|
|
public class SopGatewayApplication {
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
SpringApplication.run(SopGatewayApplication.class, args);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 禁用ZuulConfig类,注释掉@Configuration注解即可
|
|
|
|
|
|
|
|
```java
|
|
|
|
//@Configuration
|
|
|
|
public class ZuulConfig extends AlipayZuulConfiguration {...}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 启用GatewayConfig类,打开@Configuration注释
|
|
|
|
|
|
|
|
```java
|
|
|
|
@Configuration
|
|
|
|
public class GatewayConfig extends AlipayGatewayConfiguration {...}
|
|
|
|
```
|
|
|
|
|
|
|
|
修改完毕,重启sop-gateway
|
|
|
|
|
|
|
|
运行SpringCloudGatewayClientPostTest测试用例。
|