Spring Boot 2020 官方基础68课程第24个 gateway
Spring Cloud Gateway功能:
-
基于Spring Framework 5、Project Reactor和Spring Boot 2.0构建 能够匹配任何请求属性上的路由。 筛选器。 断路器。 Spring Cloud DiscoveryClient集成 请求速率限制 路径重写
下面来一个个实现上面的功能。开一个新项目,添加依赖 resilience4j stub-runner gateway.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
<scope>test</scope>
</dependency>
牛刀小试:添加下面的代码到启动类。主要是测试下是否能拦截到请求。
@Bean
public RouteLocator myRoutes(RouteLocatorBuilder builder) {
return builder.routes()
.route(p -> p
.path("/get")
.filters(f -> f.addRequestHeader("Hello", "World"))
.uri("http://httpbin.org:80"))
.build();
}
项目默认是跑到8080端口。用下面的命令可以看到结果:
接下来尝试下过滤器。
