fix 修复 jsonParam 参数可能为空问题

This commit is contained in:
疯狂的狮子Li
2025-12-09 15:50:25 +08:00
parent 63db3e5468
commit 927658cc40

View File

@@ -5,6 +5,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.json.utils.JsonUtils;
import org.dromara.gateway.config.properties.ApiDecryptProperties; import org.dromara.gateway.config.properties.ApiDecryptProperties;
import org.dromara.gateway.config.properties.CustomGatewayProperties; import org.dromara.gateway.config.properties.CustomGatewayProperties;
@@ -57,19 +58,21 @@ public class GlobalLogFilter implements GlobalFilter, Ordered {
log.info("[PLUS]开始请求 => URL[{}],参数类型[encrypt]", url); log.info("[PLUS]开始请求 => URL[{}],参数类型[encrypt]", url);
} else { } else {
String jsonParam = WebFluxUtils.resolveBodyFromCacheRequest(exchange); String jsonParam = WebFluxUtils.resolveBodyFromCacheRequest(exchange);
List<Dict> list = new ArrayList<>(); if (StringUtils.isNotBlank(jsonParam)) {
if (JsonUtils.isJsonArray(jsonParam)) { List<Dict> list = new ArrayList<>();
List<String> list1 = JsonUtils.parseArray(jsonParam, String.class); if (JsonUtils.isJsonArray(jsonParam)) {
for (String str : list1) { List<String> list1 = JsonUtils.parseArray(jsonParam, String.class);
Dict map = JsonUtils.parseMap(str); 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); 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); log.info("[PLUS]开始请求 => URL[{}],参数类型[json],参数:[{}]", url, jsonParam);
} }