构建一个接收关联ID的后过滤器
@Log4j2
@Component
public class ResponseFilter implements GlobalFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
Runnable runnable = () -> postGlobalFilter(exchange);
return chain.filter(exchange).then(Mono.fromRunnable(runnable));
}
private void postGlobalFilter(ServerWebExchange exchange) {
HttpHeaders requestHeaders = exchange.getRequest().getHeaders();
String correlationId = FilterUtils.getCorrelationId(requestHeaders);
log.debug("Adding the correlation id to the outbound headers. {}",
correlationId);
exchange.getResponse().getHeaders().add(
FilterUtils.CORRELATION_ID, correlationId);
log.debug("Completing outgoing request for {}.",
exchange.getRequest().getURI());
}
}
Last updated