小编GOU*_*HTA的帖子

如何在application.yml中指定自定义过滤器Spring Cloud Gateway

我有一个自定义网关过滤器MYGatewayFilter.java文件现在我想使用这个网关过滤器与我在application.yml中编写的路由

 spring:
  cloud:
   gateway:
    routes:
      - id: login2_route
      uri: http://127.0.0.1:8083/login
      predicates:
       - Path: /login/
      filters:
Run Code Online (Sandbox Code Playgroud)

如何为上述路线定义过滤器

自定义筛选MyGatewayFilter.java

public class MyGatewayFilter implements GatewayFilter {
    @Override
  public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
      ServerHttpRequest request;
      if(request.getHeaders().get("x-mydata")!=null){
         request= exchange.getRequest().mutate().header("my-new-header",request.getHeaders().get("x-mydata").get(0)).build();
      }

      return chain.filter(exchange.mutate().request(request).build());
  }
}       
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot spring-cloud-netflix api-gateway

9
推荐指数
2
解决办法
5652
查看次数