gateway中的RouteLocator配置

可以在启动类中注册Bean组件

@Bean
public RouteLocator routeLocator(RouteLocatorBuilder builder) {
   return builder.routes()
           .route(p -> 
               p.path("/api/acct/**")			//请求路径
                .filters(f -> f.stripPrefix(2))		//过滤前缀
                .uri("lb://acctsvi")			//指向的uri
           )
           .route(p -> 
               p.path("/api/msg/**")
                .filters(f -> f.stripPrefix(2))
                .uri("lb://msgsvi")
           )
           .route(p -> 
               p.path("/api/email/**")
                .filters(f -> f.stripPrefix(2))
                .uri("lb://emailsvi")
           )
           .build();
}

透过Builder等方法,使用内建的断言或过滤

路径断言可以通过path指定Ant路径模式

@Bean
public RouteLocator routeLocator(RouteLocatorBuilder builder) {
   return builder.routes()
           .route(p -> 
               p.path("/openhome/**")
                .filters(f -> f.rewritePath("/openhome/(?<remaining>.*)", "/${remaining}"))
                .uri("https://openhome.cc")
            ).build();
}

版权声明:本文为oakscript原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。