一、建立springboot項目添加依賴java
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency>
二、配置application.ymlweb
server: port: 5000 spring: application: name: hello-gateway cloud: gateway: routes: - id: gateway1 uri: https://www.jianshu.com/p/44a0d6adcdea predicates: - Path=/p/44a0d6adcdea
三、配置啓動類spring
@SpringBootApplication public class HelloGatewayApplication { public static void main(String[] args) { SpringApplication.run(HelloGatewayApplication.class, args); } @Bean public RouteLocator routeLocator(RouteLocatorBuilder builder){ return builder.routes() .route(r->r.path("/java-concurrent").uri("http://ifeve.com")) .build(); } }
項目springboot
訪問http://localhost:5000/p/44a0d6adcdea、http://ifeve.com/java-concurrent/app
總結訪問http://localhost:5000/p/44a0d6adcdea則會轉發到https://www.jianshu.com/p/44a0d6adcdeaspring-boot
訪問http://ifeve.com/java-concurrent/,則會轉發到http://ifeve.com/java-concurrent/ui
一、能夠看出,地址欄中的url是不會變的,說明gateway是轉發而不是重定向url
二、同時能夠發現gateway不會組件不像springcloud其餘組建要使用@EnableXXX,如eureka要使用@EnableEurekaServer 、 Feign要使用@EnableFeignClients等等server
三、這個項目能夠看出gateway支持兩種方式yml、和配置類flux