Spring Cloud組合的全局過濾器和GatewayFilter排序

2024-01-05 16:34 更新

當(dāng)有請(qǐng)求進(jìn)入(并與路由匹配)時(shí),過濾Web處理程序會(huì)將GlobalFilter的所有實(shí)例和GatewayFilter的所有特定于路由的實(shí)例添加到過濾器鏈中。該組合的過濾器鏈通過org.springframework.core.Ordered接口排序,可以通過實(shí)現(xiàn)getOrder()方法進(jìn)行設(shè)置。

由于Spring Cloud網(wǎng)關(guān)區(qū)分執(zhí)行過濾器邏輯的“前”階段和“后”階段(請(qǐng)參閱:工作原理),因此,具有最高優(yōu)先級(jí)的過濾器將在“前”階段中處于第一個(gè)階段,在“階段”中處于最后一個(gè)階段。 “后期”階段。

ExampleConfiguration.java。 

@Bean
public GlobalFilter customFilter() {
    return new CustomGlobalFilter();
}

public class CustomGlobalFilter implements GlobalFilter, Ordered {

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        log.info("custom global filter");
        return chain.filter(exchange);
    }

    @Override
    public int getOrder() {
        return -1;
    }
}


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)