栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springcloud gateway网关 过滤(2)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springcloud gateway网关 过滤(2)

gateway还有一个就是实现过滤的作用,配置方法参考官网:Spring Cloud Gateway

我这边整了一个自定义过滤

首先在启动类中加入给过滤让他使用上

 

 @Bean
        public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
            return builder.routes()
                    .route("demo2", r -> r.path("/demo2/**")
                            .filters(f ->f.filters(new Changegtefilter()))
                            .uri("lb://DEMO2"))


                    .build();
        }

我是新建了一个类 Changegtefilter继承了 

GatewayFilter, Ordered判断gid=1才让他通过

@Component()
public class Changegtefilter implements GatewayFilter, Ordered{

    @Override
    public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {

        if (exchange.getRequest().getURI().getQuery().equals("gid=1")){
            System.out.println(exchange.getRequest().getURI().getQuery());
            return chain.filter(exchange);
        }else {
           return exchange.getResponse().setComplete();
        }

    }
//设置优先级

    @Override
    public int getOrder() {
        return 0;
    }

    @Override
    public ShortcutType shortcutType() {
        return null;
    }

    @Override
    public List shortcutFieldOrder() {
        return null;
    }

    @Override
    public String shortcutFieldPrefix() {
        return null;
    }


}

 

 进行测试当=2时没有返回什么东西

=1时正常返回

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号