From cd42469860e45be0a35f3ff07960c57cfd1ba27d Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Thu, 17 Sep 2020 19:37:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20sw?= =?UTF-8?q?agger=20=E5=AF=BC=E5=85=A5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../metersphere/api/parse/Swagger2Parser.java | 48 ++++++++++--------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/parse/Swagger2Parser.java b/backend/src/main/java/io/metersphere/api/parse/Swagger2Parser.java index 399efb3f6..a982f5798 100644 --- a/backend/src/main/java/io/metersphere/api/parse/Swagger2Parser.java +++ b/backend/src/main/java/io/metersphere/api/parse/Swagger2Parser.java @@ -159,32 +159,34 @@ public class Swagger2Parser extends ApiImportAbstractParser { private JSONObject getBodyJSONObjectParameters(Map properties, Map definitions, HashSet refSet) { JSONObject jsonObject = new JSONObject(); - properties.forEach((key, value) -> { - if (value instanceof ObjectProperty) { - ObjectProperty objectProperty = (ObjectProperty) value; - jsonObject.put(key, getBodyJSONObjectParameters(objectProperty.getProperties(), definitions, refSet)); - } else if (value instanceof ArrayProperty) { - ArrayProperty arrayProperty = (ArrayProperty) value; - Property items = arrayProperty.getItems(); - if (items instanceof RefProperty) { - RefProperty refProperty = (RefProperty) items; - String simpleRef = refProperty.getSimpleRef(); - if (refSet.contains(simpleRef)) { - jsonObject.put(key, new JSONArray()); - return; + if (properties != null) { + properties.forEach((key, value) -> { + if (value instanceof ObjectProperty) { + ObjectProperty objectProperty = (ObjectProperty) value; + jsonObject.put(key, getBodyJSONObjectParameters(objectProperty.getProperties(), definitions, refSet)); + } else if (value instanceof ArrayProperty) { + ArrayProperty arrayProperty = (ArrayProperty) value; + Property items = arrayProperty.getItems(); + if (items instanceof RefProperty) { + RefProperty refProperty = (RefProperty) items; + String simpleRef = refProperty.getSimpleRef(); + if (refSet.contains(simpleRef)) { + jsonObject.put(key, new JSONArray()); + return; + } + refSet.add(simpleRef); + Model model = definitions.get(simpleRef); + JSONArray propertyList = new JSONArray(); + propertyList.add(getBodyJSONObjectParameters(model.getProperties(), definitions, refSet)); + jsonObject.put(key, propertyList); + } else { + jsonObject.put(key, new ArrayList<>()); } - refSet.add(simpleRef); - Model model = definitions.get(simpleRef); - JSONArray propertyList = new JSONArray(); - propertyList.add(getBodyJSONObjectParameters(model.getProperties(), definitions, refSet)); - jsonObject.put(key, propertyList); } else { - jsonObject.put(key, new ArrayList<>()); + jsonObject.put(key, Optional.ofNullable(value.getDescription()).orElse("")); } - } else { - jsonObject.put(key, Optional.ofNullable(value.getDescription()).orElse("")); - } - }); + }); + } return jsonObject; } -- GitLab