GateWay

使用

1.添加依赖:(不需要web依赖)
2.配yml

spring:
  cloud:
    consul:
      host: http://localhost
      port: 8500
      discovery:
        service-name: ${spring.application.name}

    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: payment-8004
           uri: http://localhost:8004
          predicates:
            - Path=/test

2.1 也可以用硬编码方式配置路由
在这里插入图片描述

实现动态路由

1.启动路由的服务发现

gateway:
  discovery:
    locator:
      enabled: true

2.修改一下uri

gateway:
  discovery:
    locator:
      enabled: true
  routes:
    - id: payment-8004
      uri: lb://payment-8004
      predicates:
        - Path=/test

常用的predicate
在这里插入图片描述
1.After 在什么时间之后(获取时间)
在这里插入图片描述
2.Before 在什么时间之前
3.Between 在什么时间之间
4.要求cookie值
在这里插入图片描述
在这里插入图片描述
5.请求头
在这里插入图片描述
在这里插入图片描述
6.Host
在这里插入图片描述
7.指定请求方法
在这里插入图片描述
8.要求指定参数
在这里插入图片描述

— filter

1.自带的百度,用法与predicate一样
2.自定义过滤器

实现接口implements GlobalFilter, Ordered
重写方法

public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
    ServerHttpRequest request = exchange.getRequest();
    String username = request.getQueryParams().getFirst("username");
    if (username != null){
        System.out.println("+++++++++++++++++非法访问");
        exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);
        return exchange.getResponse().setComplete();
    }
    return chain.filter(exchange);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值