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

This commit is contained in:
疯狂的狮子Li
2025-12-09 15:50:39 +08:00
parent 116fa0053d
commit 8d29091afa

View File

@@ -18,6 +18,7 @@ import org.springframework.web.servlet.ModelAndView;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -42,27 +43,30 @@ public class PlusWebInvokeTimeInterceptor implements HandlerInterceptor {
if (request instanceof RepeatedlyRequestWrapper) { if (request instanceof RepeatedlyRequestWrapper) {
BufferedReader reader = request.getReader(); BufferedReader reader = request.getReader();
jsonParam = IoUtil.read(reader); jsonParam = IoUtil.read(reader);
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);
} else { } else {
Map<String, String[]> parameterMap = request.getParameterMap(); Map<String, String[]> parameterMap = request.getParameterMap();
if (MapUtil.isNotEmpty(parameterMap)) { if (MapUtil.isNotEmpty(parameterMap)) {
MapUtil.removeAny(parameterMap, SystemConstants.EXCLUDE_PROPERTIES); Map<String, String[]> map = new LinkedHashMap<>(parameterMap);
String parameters = JsonUtils.toJsonString(parameterMap); MapUtil.removeAny(map, SystemConstants.EXCLUDE_PROPERTIES);
String parameters = JsonUtils.toJsonString(map);
log.info("[PLUS]开始请求 => URL[{}],参数类型[param],参数:[{}]", url, parameters); log.info("[PLUS]开始请求 => URL[{}],参数类型[param],参数:[{}]", url, parameters);
} else { } else {
log.info("[PLUS]开始请求 => URL[{}],无参数", url); log.info("[PLUS]开始请求 => URL[{}],无参数", url);