package cn.mb.cloud.gateway.filter; import cn.mb.cloud.gateway.model.HeaderParams; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.Ordered; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; import java.util.Map; /** * 日志拦截器 */ @Slf4j @Component public class RequestParamFilter implements GlobalFilter, Ordered { @Override public int getOrder() { return -1; } @Override public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { ServerHttpRequest request = exchange.getRequest(); String uri = request.getURI().getRawPath(); Map queryParams = QueryParamsUtil.getQueryParams(request); Map headerParams = QueryParamsUtil.getOriginalHeaderParams(request); log.info("请求操作 -> " + uri + " || 请求参数 -> " + JSON.toJSONString(queryParams) + " || Header信息 -> " + JSON.toJSONString(headerParams)); return chain.filter(exchange); } }