01-SpringCloud gateway入門案例

一、建立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

相關文章
相關標籤/搜索