From 79dbba35d11bcf4ab2ec18489b9a166091fe60f3 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 2 Nov 2022 17:20:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20=E8=A7=A3?= =?UTF-8?q?=E6=9E=90API=E6=95=B0=E6=8D=AE=E6=BA=90=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/datasource/ApiProvider.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index c9f1c4537b..5d7218e6d4 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -34,6 +34,8 @@ import java.util.stream.Collectors; @Service("apiProvider") public class ApiProvider extends Provider { + private static String path = "['%s']"; + @Resource private SystemParameterService systemParameterService; @@ -198,10 +200,10 @@ public class ApiProvider extends Provider { handleStr(apiDefinition, response, fields, rootPath); } for (JSONObject field : fields) { - if(field.containsKey("children") && CollectionUtils.isNotEmpty(field.getJSONArray("children"))){ + if (field.containsKey("children") && CollectionUtils.isNotEmpty(field.getJSONArray("children"))) { field.put("disabled", false); } - if(field.containsKey("children") && CollectionUtils.isEmpty(field.getJSONArray("children"))){ + if (field.containsKey("children") && CollectionUtils.isEmpty(field.getJSONArray("children"))) { field.put("disabled", true); } } @@ -238,14 +240,14 @@ public class ApiProvider extends Provider { array.add(StringUtils.isNotEmpty(jsonObject.getString(s)) ? jsonObject.getString(s) : ""); o.put("value", array); } - o.put("jsonPath", rootPath + "." + s); + o.put("jsonPath", rootPath + "." + String.format(path, s)); setProperty(apiDefinition, o, s); if (!hasItem(apiDefinition, fields, o)) { fields.add(o); } } else if (StringUtils.isNotEmpty(value) && value.startsWith("{")) { List children = new ArrayList<>(); - handleStr(apiDefinition, jsonObject.getString(s), children, rootPath + "." + s); + handleStr(apiDefinition, jsonObject.getString(s), children, rootPath + "." + String.format(path, s)); JSONObject o = new JSONObject(); o.put("children", children); o.put("childrenDataType", "OBJECT"); @@ -256,7 +258,7 @@ public class ApiProvider extends Provider { } } else { JSONObject o = new JSONObject(); - o.put("jsonPath", rootPath + "." + s); + o.put("jsonPath", rootPath + "." + String.format(path, s)); setProperty(apiDefinition, o, s); JSONArray array = new JSONArray(); array.add(StringUtils.isNotEmpty(jsonObject.getString(s)) ? jsonObject.getString(s) : "");