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端口。用下面的命令可以看到结果:

接下来尝试下过滤器。

经验分享 程序员 微信小程序 职场和发展