第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

gateWay(3)內(nèi)置過濾器工廠

標(biāo)簽:
Java

内置谓词工厂共有26种
http://idcbgp.cn/article/290816

9种内置全局过滤器!
http://idcbgp.cn/article/290821      

通过手记进行测试即可

routes:
  - id: aftre-routes
    uri: lb://user-center
    predicates:
      - TimeBetween=上午0:00,下午11:59
    filters:
      - AddRequestHeader=X-Request-Foo, Bar

https://img1.sycdn.imooc.com//6104e6e10001986308010301.jpghttps://img1.sycdn.imooc.com//6104e7050001f86b07970352.jpg

配置形式

https://img1.sycdn.imooc.com//6104e718000102e308600548.jpg

https://img1.sycdn.imooc.com//6104e7530001ac4c08950488.jpg

配置形式

https://img1.sycdn.imooc.com//6104e7690001aff808990467.jpg


AbstractNameValueGatewayFilterFactory继承了AbstractGatewayFilterFactory,也就是第二种方式是第一种方式的简化

https://img1.sycdn.imooc.com//6104e8460001715c08740456.jpg


eg:

package com.itmuch.gateway;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.factory.AbstractNameValueGatewayFilterFactory;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
@Component
@Slf4j
public class PreLogGatewayFilterFactory extends AbstractNameValueGatewayFilterFactory {
    @Override
    public GatewayFilter apply(NameValueConfig config) {

        return ((exchange, chain) ->{
            log.info("请求进来了,{},{}",config.getName(),config.getValue());//过滤器业务逻辑
            ServerHttpRequest build = exchange.getRequest().mutate().build();//拿到request并修改请求
            ServerWebExchange build1 = exchange.mutate().request(build).build();//将修改过后的请求传进去就可以修改exchange

            return chain.filter(build1);
            
        });
    }
}
routes:
  - id: aftre-routes
    uri: lb://user-center
    predicates:
      - TimeBetween=上午0:00,下午11:59
    filters:
      - AddRequestHeader=X-Request-Foo, Bar
      - PreLog=a,b

与自定义过滤器的命名还有配置文件的配置与自定义谓词工厂类似

在访问服务user-center时候就会打印

2021-07-31 14:37:00.149  INFO 7732 --- [ctor-http-nio-2] c.i.gateway.PreLogGatewayFilterFactory   : 请求进来了,a,b


gateway 监控端点
http://idcbgp.cn/article/290822      


调试排除三板斧:
http://idcbgp.cn/article/290824      

过滤器执行顺序:

1.oder越小越靠前执行
2.过滤器工厂的order按配置顺序从1开始递增
3.如果配置了默认过滤器,则先执行相同的order的默认过滤器
4.如需自行控制order,可返回OrderedGatewayFilter:

package com.itmuch.gateway;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.OrderedGatewayFilter;
import org.springframework.cloud.gateway.filter.factory.AbstractNameValueGatewayFilterFactory;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;

@Component
@Slf4j
public class PreLogGatewayFilterFactory extends AbstractNameValueGatewayFilterFactory {
    @Override
    public GatewayFilter apply(NameValueConfig config) {

        //如果需要自行控制这个过滤器的order,从而调整执行顺序,可以这样返回一个GatewayFilter
        GatewayFilter gatewayFilter = ((exchange, chain) -> {
            log.info("请求进来了,{},{}", config.getName(), config.getValue());//过滤器业务逻辑
            ServerHttpRequest build = exchange.getRequest().mutate().build();//拿到request并修改请求
            ServerWebExchange build1 = exchange.mutate().request(build).build();//将修改过后的请求传进去就可以修改exchange

            return chain.filter(build1);//将修改好的exchange交给下一个过滤器
        });
        return new OrderedGatewayFilter(gatewayFilter, 1000);

        //      //普通自定义过滤器
//        return ((exchange, chain) ->{
//            log.info("请求进来了,{},{}",config.getName(),config.getValue());//过滤器业务逻辑
//            ServerHttpRequest build = exchange.getRequest().mutate().build();//拿到request并修改请求
//            ServerWebExchange build1 = exchange.mutate().request(build).build();//将修改过后的请求传进去就可以修改exchange
//
//            return chain.filter(build1);//将修改好的exchange交给下一个过滤器
//        });
    }
}


gateway限流手记,gateway限流比sentile限流更简单

http://idcbgp.cn/article/290828

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消