spring cloud gateway 网关拦截 一级标题
直接上代码
/**
* 网关过滤器
* xjc
* 2022/9/26 9:44
*/
@Slf4j
@Configuration
public class GatewayFilter implements GlobalFilter, Ordered {
@Value("${security.oauth2.greatbay.openToPath}")
private List<String> openToPath;
@Autowired
private SystemLogHandelService logHandelService;
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
String path = RequestUtil.getPath(request);
//处理白名单接口
if(CollectionUtils.isNotEmpty(openToPath)){
if(openToPath.contains(path)){
ServerHttpRequest.Builder mutate = request.mutate();
//删除对应的内容
mutate.headers(e->e.remove(HttpHeaders.AUTHORIZATION));
//这个是新增或者修改
mutate.header("key","value");
ServerHttpRequest build = mutate.build();
exchange.mutate().request(build).build();
return chain.filter(exchange);
}
}
}
@Override
public int getOrder() {
return 0;
}
}