@Slf4j
@Component
public class WxAuthFilter implements GlobalFilter, Ordered {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//1.获取request
ServerHttpRequest request = exchange.getRequest();
//2.获取请求路径
String path = request.getURI().getPath();
if (isOpenMiniApp(path)) {
//相关自定义判断
return GatewayCommonUtil.passFilter(exchange.mutate().request(request).build(), chain);
}
return chain.filter(exchange);
}
/**
* 判断请求路径是否含有miniapp
*
* @param path
* @return
*/
public boolean isOpenMiniApp(String path) {
return path.contains("miniapp");
}
@SneakyThrows
private String utf8Encoder(String sourceString) {
return URLEncoder.encode(sourceString, "UTF-8");
}
@Override
public int getOrder() {
return -96;
}
}
Spring Cloud Gateway:自定义全局过滤器GlobalFilter
最新推荐文章于 2022-12-06 13:31:39 发布