content: package com.george.springcloud.filter;
  
  import lombok.extern.slf4j.Slf4j;
  import org.apache.commons.lang.StringUtils;
  import org.springframework.cloud.gateway.filter.GatewayFilterChain;
  import org.springframework.cloud.gateway.filter.GlobalFilter;
  import org.springframework.core.Ordered;
  import org.springframework.http.HttpStatus;
  import org.springframework.stereotype.Component;
  import org.springframework.web.server.ServerWebExchange;
  import reactor.core.publisher.Mono;
  
  import java.util.Date;
  
  /**
   * @author Yang Hao
   * @description 自定义全局GlobalFilter
   * @date 2020-09-18 17:49
   */
  @Component
  @Slf4j
  public class MyLogGateWayFilter implements GlobalFilter, Ordered {
  
      @Override
      public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
  
          log.info("------------ come in MyLogGateWayFilter: " + new Date());
          String uname = exchange.getRequest().getQueryParams().getFirst("uname");
          if (StringUtils.isEmpty(uname)) {
              log.info("------------ 用户名 [{}] 非法 o(╥﹏╥)o", uname);
              exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);
              return exchange.getResponse().setComplete();
          }
          return chain.filter(exchange);
  
      }
  
      @Override
      public int getOrder() {
          return 0;
      }
  }