亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Cloud Gateway如何構建

發布時間:2022-01-12 09:14:32 來源:億速云 閱讀:169 作者:iii 欄目:云計算

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

構建服務端

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

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

        編寫啟動類與控制器,提供一個“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內容如下:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.RC1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
    </dependencies>

        為網關項目加入配置文件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<PredicateSpec, Route.Builder> fn = new Function<PredicateSpec, Route.Builder>() {

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

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

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

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

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

關于“Spring Cloud Gateway如何構建”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

旬阳县| 阳春市| 肃北| 孙吴县| 舒城县| 泾川县| 深圳市| 黑龙江省| 永新县| 元氏县| 高青县| 西贡区| 嵊泗县| 田林县| 祥云县| 阿鲁科尔沁旗| 拉萨市| 阜城县| 包头市| 锡林浩特市| 临沧市| 隆昌县| 贵州省| 泸州市| 鄱阳县| 兴化市| 太保市| 永平县| 利津县| 昌平区| 刚察县| 古田县| 沙湾县| 邹平县| 贵南县| 武陟县| 秦安县| 余干县| 九寨沟县| 吴旗县| 开封县|