diff --git a/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/GlobalLogFilter.java b/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/GlobalLogFilter.java index 4f81b34bc..b31c35da4 100644 --- a/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/GlobalLogFilter.java +++ b/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/GlobalLogFilter.java @@ -5,6 +5,7 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.SystemConstants; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.gateway.config.properties.ApiDecryptProperties; import org.dromara.gateway.config.properties.CustomGatewayProperties; @@ -57,19 +58,21 @@ public class GlobalLogFilter implements GlobalFilter, Ordered { log.info("[PLUS]开始请求 => URL[{}],参数类型[encrypt]", url); } else { String jsonParam = WebFluxUtils.resolveBodyFromCacheRequest(exchange); - List list = new ArrayList<>(); - if (JsonUtils.isJsonArray(jsonParam)) { - List list1 = JsonUtils.parseArray(jsonParam, String.class); - for (String str : list1) { - Dict map = JsonUtils.parseMap(str); + if (StringUtils.isNotBlank(jsonParam)) { + List list = new ArrayList<>(); + if (JsonUtils.isJsonArray(jsonParam)) { + List list1 = JsonUtils.parseArray(jsonParam, String.class); + for (String str : list1) { + Dict map = JsonUtils.parseMap(str); + MapUtil.removeAny(map, SystemConstants.EXCLUDE_PROPERTIES); + list.add(map); + } + jsonParam = JsonUtils.toJsonString(list); + } else { + Dict map = JsonUtils.parseMap(jsonParam); MapUtil.removeAny(map, SystemConstants.EXCLUDE_PROPERTIES); - list.add(map); + jsonParam = JsonUtils.toJsonString(map); } - jsonParam = JsonUtils.toJsonString(list); - } else { - Dict map = JsonUtils.parseMap(jsonParam); - MapUtil.removeAny(map, SystemConstants.EXCLUDE_PROPERTIES); - jsonParam = JsonUtils.toJsonString(map); } log.info("[PLUS]开始请求 => URL[{}],参数类型[json],参数:[{}]", url, jsonParam); }