过滤器 Java Bean · SpringCloud微服务实战 · 看云

16. 过滤器 Java Bean

导航

前面我们说的都是基于application.yml(.properties)的形式,Spring Cloud Gateway 还支持Java Bean 的配置方式。

本节代码地址


16.1 将过滤器开关和profile 注释掉

server:
  port: 8699
spring:
  application:
    name: fw-gateways-gateway
#  profiles:
#    active: after_route
#  cloud:
#    gateway:
#      enabled: false
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

###16.2 Java Bean 配置


@Bean
public RouteLocator customerRouteLocator(RouteLocatorBuilder builder) {
    return builder.routes()
            .route(r -> r.path("/gateway/**")
                    .filters(f -> f.stripPrefix(1)
                            .addResponseHeader("X-Response-Default-Foo", "Default-Bar"))
                    .uri("lb://fw-cloud-ribbon-server")
                    .order(0)
                    .id("strippath_route")
            )
            .build();
}

16.3 应用启动

我们通过 Spring Cloud Gateway 访问/geatway/user/2,那么当网关服务向后转发请求时,会去掉/user/2
dc8bd34c0d19dc81d2b090f072465a13_MD5.webp