前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天20分钟之spring-cloud-gateway基础三自定义断言工厂

每天20分钟之spring-cloud-gateway基础三自定义断言工厂

原创
作者头像
李子健
发布2022-08-21 16:56:14
4520
发布2022-08-21 16:56:14
举报
文章被收录于专栏:每日一善每日一善

各类断言工厂(路由判断)

path路由断言工厂

  • 配置
代码语言:txt
复制
        - id: pathInfo
          uri: http://www.example.com/
          predicates:
            - Path=/abcd/{segment}
  • 访问地址:http://127.0.0.1:10011/abcd/12312

query路由断言工厂

  • 配置
代码语言:txt
复制
        - id: queryInfo
          uri: http://www.example.com/
          predicates:
            - Query= foo,bb
  • 访问地址 http://127.0.0.1:10011/abcdeeee?foo=bb

method路由断言工厂`

  • 配置
代码语言:txt
复制
- id: methodnfo
          uri: http://www.example.com/
          predicates:
            - Method= DELETE
  • 访问地址:
代码语言:txt
复制
curl --location --request DELETE 'http://127.0.0.1:10011/adfasfsdfdsd'

head 路由断言工厂

  • 配置
代码语言:txt
复制
        - id: headinfo
          uri: http://www.example.com/
          predicates:
            - Header=x-ragnar-traceid,[\w\d]+
  • 访问地址
代码语言:txt
复制
curl --location --request GET 'http://127.0.0.1:10011/adfasfsdfdsd12312' \
--header 'x-ragnar-traceid: 123213123'

自定义路由断言工厂

自定义断言工厂代码

代码语言:javascript
复制
@Slf4j
@Component
public class GrayRoutePredicateFactory extends AbstractRoutePredicateFactory<GrayCfg> {

    public GrayRoutePredicateFactory() {
        super(GrayCfg.class);
    }

    @Override
    public Predicate<ServerWebExchange> apply(GrayCfg cfg) {

        return serverWebExchange -> {
            log.info("enter GrayRoutePredicateFactory"+cfg.isGrayStatus());
            if (cfg.isGrayStatus()) {
                log.info(" GrayRoutePredicateFactory hit   start gray");
                return true;
            }

            return false;
        };
    }
}

自定义断言工厂配置

代码语言:txt
复制
        - id: grayinfo
          uri: http://www.baidu.com/
          predicates:
            - Path=/eee/**
            - name: Gray
              args:
                grayStatus: true

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 各类断言工厂(路由判断)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档