预过滤器
@Log4j2
@Order(1)
@Component
public class TrackingFilter implements GlobalFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
String correlationID = FilterUtils.getCorrelationId(
exchange.getRequest().getHeaders());
if (correlationID == null) {
correlationID = generateCorrelationId();
exchange = FilterUtils.setCorrelationId(exchange, correlationID);
log.debug("tmx-correlation-id generated in tracking filter: {}.",
correlationID);
} else {
log.debug("tmx-correlation-id found in tracking filter: {}. ",
correlationID);
}
return chain.filter(exchange);
}
private String generateCorrelationId() {
return UUID.randomUUID().toString();
}
}Last updated