spring cloud gateway怎麼用,五分鐘教會大家
阿新 • • 發佈:2018-11-20
第一步
在你的springboot下的pom檔案中加入maven依賴
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
</dependencies>
第二步
在你的springboot專案下配置檔案中(bootstrap.yml)新增gateway的配置資訊
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ #將閘道器服務註冊到註冊中心 spring: application: name: service-gateway cloud: gateway: routes: - id: api-a uri: http://localhost:8888 #uri:目標服務地址 predicates: - Path=/api-a/** filters: #filters:過濾規則 - StripPrefix=1 - id: api-b # 區分不同功能 uri: lb://service-demo #lb://開頭(lb代表從註冊中心獲取服務)服務名稱 predicates: - Path=/api-b/** #去掉api-a,只保留**部分 filters: - StripPrefix=1
配置方式二
可以使用啟動類進行路由配置規則
/** * gateway 方式實現 */ @SpringBootApplication public class ServiceGatewayApplication { public static void main(String[] args) { SpringApplication.run(ServiceGatewayApplication.class, args); } @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { StripPrefixGatewayFilterFactory.Config config = new StripPrefixGatewayFilterFactory.Config(); config.setParts(1); return builder.routes() .route("api-a", r -> r.path("/api-a/**") .filters(f -> f.stripPrefix(1)) .uri("http://localhost:8888")) .route("api-b", r -> r.path("/api-b/**"). filters(f -> f.stripPrefix(1)). uri("lb://service-demo")) .build(); } }
下面你就可以通過啟動專案,進行測試了。