spring-cloud getway 网关

511 阅读1分钟

配置路由的两种方式

1、通过配置的方式来配置的路由规则

    gateway:
      routes:
        # 采用自定义路由 ID(有固定用法,不同的 id 有不同的功能,详见:https://cloud.spring.io/spring-cloud-gateway/2.0.x/single/spring-cloud-gateway.html#gateway-route-filters)
        - id: NACOS-CONSUMER
          # 采用 LoadBalanceClient 方式请求,以 lb:// 开头,后面的是注册在 Nacos 上的服务名
          uri: lb://nacos-user-provider
          # Predicate 翻译过来是“谓词”的意思,必须,主要作用是匹配用户的请求,有很多种用法
          predicates:
            # Method 方法谓词,这里是匹配 GET 和 POST 请求
            - Method=GET,POST

2、通过硬编码的方式来配置路由规则

摘自官网

/**
 * @author sunli
 * @date 2020/3/20 17:44
 */
@Configuration
public class GateWayConfig {

    @Bean
    public RouteLocator routes(RouteLocatorBuilder builder) {
        RouteLocatorBuilder.Builder routes = builder.routes();
        routes.route("test_baidu_route", r -> r.path("/guonei").uri("http://news.baidu.com/guonei")).build();
        return routes.build();
    }
}

测试成功

3、动态路由的配置(我们通过在注册中心注册的服务名来作为路由配置)

常用perdicates(断言)配置

为了实现一组匹配规则,让请求过来找对应的Route进行处理。