Gateway系列---【Global Filters(全局过滤器)】

1.Gateway内置全局过滤器

2.全局过滤器和局部过滤器的区别

全局过滤器作用于所有请求,不区分路由服务。
局部过滤器只针对于单个的路由生效。

3.自定义全局过滤器

package com.fast.gateway;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

@Component
public class LogFilter implements GlobalFilter {
    private static final Logger logger = LoggerFactory.getLogger(LogFilter.class);

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 这里可以添加日志记录逻辑
        logger.info("Processing request: {}", exchange.getRequest().getPath());
        return chain.filter(exchange);
    }
}

posted on 2024-11-25 01:25  少年攻城狮  阅读(120)  评论(0)    收藏  举报

导航