1.网关的作用
1.负载均衡
2.过滤器的使用
1.通过配置文件实现的过滤器
2.代码逻辑层面实现全局过滤器
//全局过滤器代码逻辑实现
@Component
//@Order(1):注解配置过滤器的执行顺序
public class GlobalFilter implements GatewayFilter, Ordered {/*** 处理当前请求,有必要的话通过 {@link GatewayFilterChain} 将请求交给下一个过滤器处理** @param exchange 请求上下文,里面可以获取 Request、Response 等信息* @param chain 用来把请求委托给下一个过滤器* @return {@code Mono<Void>} 返回值标示当前过滤器业务结束*/@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpRequest request = exchange.getRequest();MultiValueMap<String, String> params = request.getQueryParams();String token = params.getFirst("token");if("token".equals(token)){//放行到下一个过滤器return chain.filter(exchange);}//401:登陆失败exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);return exchange.getResponse().setComplete();}//代码配置过滤器顺序@Overridepublic int getOrder() {return 1;}}