快速搭建一个SpringGateway网关

发布时间: 2022-06-28

☝️搭建脚手架

我们可以去 Spring initializer 网站或者用 IDEA 来快速创建出一个 Spring Cloud Gateway 项目。

这里我们选择的注册中心是 Zookeeper,你也可以自己选择其他的注册中心来注册你的项目,比如阿里巴巴的 Nacos 等。

%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%BD%91%E5%85%B3%E9%A1%B9%E7%9B%AE%20f074aa733bd04ab885cacd0c71d9f94c/Untitled.png

配置完相关信息后,点击下面的 GENERATE 按钮就可以导出项目的 zip 压缩包,解压后用 IDE 打开。

打开后就是这个样子:

%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%BD%91%E5%85%B3%E9%A1%B9%E7%9B%AE%20f074aa733bd04ab885cacd0c71d9f94c/Untitled%201.png

✌️配置路由

Ymal 方式配置

为了方便配置,我们把 application.properties 改成 application.yml 。

然后配置一个转发到百度到路由。

spring:
  cloud:
    gateway:
      routes:
        - id: route-demo
          uri: https://baidu.com
          predicates:
            - Path=/**

在配置中,我加来一个谓词 Path ,表示所有当请求都会匹配到这个路由下,然后转发到 uri 配置到网址里。所以当我们打开浏览器访问 [http://localhost:8080/](http://localhost:8080/) 是就会自动跳转到百度到首页。

Java 代码方式配置

除了用配置文件配置路由外,我们还可以用代码的方式来配置路由。

下面来展示一下代码方式配置的路由:

@Bean
public RouteLocator routesConfig(RouteLocatorBuilder builder){
    return builder.routes()
            .route("route-demo",r -> r.path("/**").uri("https://baidu.com"))
            .build();
}

这几行代码实现的是和上面配置一样的功能,当访问 [http://localhost:8080/](http://localhost:8080/) 时也会跳转到百度首页。

请在下方留下您的评论.加入TG吹水群