小编hds*_*man的帖子

Spring Cloud Gateway 过滤器排序

我正在使用 Spring Cloud Gateway 过滤器,并且想要按 过滤请求GatewayFilterFactory,但订单无法与@Order注释一起使用

我尝试交换过滤器的顺序,但不起作用。


@Slf4j
@Order(1)
@Component
public class AccessFilter implements GatewayFilterFactory<AccessFilter.Config> {

    @Override
    public GatewayFilter apply(AccessFilter.Config config) {
        return (exchange, chain) -> { 
           log.info("in AccessFilter second");
           // do something
        }
    }
}

Run Code Online (Sandbox Code Playgroud)
@Order(-1)
@Slf4j
@Component
public class AddTraceIdGlobalFilter implements GlobalFilter {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        log.info("in globalfilter first");
        // do something
    }

}

Run Code Online (Sandbox Code Playgroud)

我的 yaml 文件:

spring:
  cloud:
    gateway:
      routes:
      - id: user_1
        uri: http://user:8080
        predicates:
        - Path=/v1/user/info …
Run Code Online (Sandbox Code Playgroud)

filter spring-cloud-gateway

5
推荐指数
1
解决办法
7880
查看次数

标签 统计

filter ×1

spring-cloud-gateway ×1