真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

SpringCloudGateway如何構建

這篇文章主要介紹“Spring Cloud Gateway如何構建”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Spring Cloud Gateway如何構建”文章能幫助大家解決問題。

我們提供的服務有:網站制作、成都做網站、微信公眾號開發(fā)、網站優(yōu)化、網站認證、利州ssl等。為上千企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的利州網站制作公司

構建服務端

        使用Spring Boot構建一個簡單的Web應用,外界向網關發(fā)送請求后,會轉發(fā)到該應用,pom.xml文件內容如下:

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.2.RELEASE
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
    

        編寫啟動類與控制器,提供一個“hello”服務:

@SpringBootApplication
@RestController
public class ServerApp {

    public static void main(String[] args) {
        SpringApplication.run(ServerApp.class, args);
    }

    @GetMapping("/hello")
    public String hello() {
        System.out.println("調用 hello 方法");
        return "hello";
    }
}

        ServerApp中的hello方法,會返回hello字符串,啟動ServerApp,默認使用8080端口,瀏覽器中訪問http://localhost:8080/hello,可看到瀏覽器輸出結果。

構建網關

        新建一個普通的Maven項目,加入Spring Cloud Gateway的依賴,pom.xml內容如下:

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.0.RELEASE
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.RC1
                pom
                import
            
        
    

    
        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
    

        為網關項目加入配置文件application.yml,修改服務器端口為9000,配置文件內容如下:

server:
  port: 9000

        添加啟動類,配置一個路由定位器的bean,代碼如下:

@SpringBootApplication
public class RouterApp {

    public static void main(String[] args) {
        SpringApplication.run(RouterApp.class, args);
    }

    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        Function fn = new Function() {

            public Route.Builder apply(PredicateSpec t) {
                t.path("/hello");
                return t.uri("http://localhost:8080");
            }
        };
        return builder.routes().route(fn).build();
    }
}

        以上代碼中,使用Spring容器中的RouteLocatorBuilder bean來創(chuàng)建路由定位器,調用Builder的route方法時,傳入java.util.function.Function實例,這是Java8加入的其中一個函數(shù)式接口,我們可以使用函數(shù)式編程來實現(xiàn)以上的代碼,下面的代碼等價于前面的代碼:

    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
        .route(t -> t.path("/hello")
          .and()
          .uri("http://localhost:8080"))
        .build();
    }

        以上的兩段代碼設定了一個路由規(guī)則,當瀏覽器訪問網關的http://localhost:9000/hello地址后,就會路由到http://localhost:8080/hello。

        除了可以路由到我們本例的8080端口外,還可以路由到其他網站,只需要改變一下PredicateSpec的uri即可,例如將.uri("http://localhost:8080")改為.uri(“http://www.163.com”)。

關于“Spring Cloud Gateway如何構建”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。


文章標題:SpringCloudGateway如何構建
URL標題:http://weahome.cn/article/jhcddh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部