文件结构
Filter
/**
* @Author: EzerbelCN
* @Date: 2020/7/24 16:25
*/
@Configuration
@Slf4j
public class MyLogGateWayFilter implements GlobalFilter, Ordered {
@Override//Mono 类似于ModelAndView
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
log.info("-------------------> try to go through global filter : " + new Date());
String uname = exchange.getRequest().getQueryParams().getFirst("uname");
if (uname == null) {
log.info("-------> uname == none , can not pass !");
exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);
return exchange.getResponse().setComplete();
}
return chain.filter(exchange);
}
@Override//返回加载过滤器的优先级,该数值越小,优先级越高
public int getOrder() {
return 0;
}
}
测试