From 937532c0934ec57e5edabde524468d3910fa7fad Mon Sep 17 00:00:00 2001 From: guoyuqi Date: Wed, 28 Jun 2023 11:30:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dswagger=E5=AF=BC=E5=87=BAjson=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1026582 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001026582 --- .../api/parse/api/Swagger3Parser.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/api-test/backend/src/main/java/io/metersphere/api/parse/api/Swagger3Parser.java b/api-test/backend/src/main/java/io/metersphere/api/parse/api/Swagger3Parser.java index 38cb2d35b7..a21db38634 100644 --- a/api-test/backend/src/main/java/io/metersphere/api/parse/api/Swagger3Parser.java +++ b/api-test/backend/src/main/java/io/metersphere/api/parse/api/Swagger3Parser.java @@ -526,14 +526,18 @@ public class Swagger3Parser extends SwaggerAbstractParser { Schema items = ((ArraySchema) schema).getItems(); item.setType(PropertyConstant.ARRAY); JsonSchemaItem arrayItem = parseSchema(items, refSet); - Map mock = new LinkedHashMap<>(); + Map mock = new LinkedHashMap<>(); if (arrayItem != null && MapUtils.isNotEmpty(arrayItem.getProperties())) { arrayItem.getProperties().forEach((k, v) -> { mock.put(k, StringUtils.isBlank(v.getMock().get(PropertyConstant.MOCK).toString()) ? v.getType() : v.getMock().get(PropertyConstant.MOCK).toString()); }); } - item.getMock().put(PropertyConstant.MOCK, JSONUtil.toJSONString(mock)); + if (item.getMock() != null) { + item.getMock().put(PropertyConstant.MOCK, JSONUtil.toJSONString(mock)); + } else { + item.setMock(mock); + } if (arrayItem != null) { item.getItems().add(arrayItem); } @@ -908,8 +912,10 @@ public class Swagger3Parser extends SwaggerAbstractParser { public Object getJsonSchemaValue(JSONObject item) { JSONObject mock = item.optJSONObject(PropertyConstant.MOCK); if (mock != null) { - Object value = mock.get(PropertyConstant.MOCK); - return value; + if (StringUtils.isNotBlank(mock.optString("mock"))) { + Object value = mock.get(PropertyConstant.MOCK); + return value; + } } return null; } @@ -1046,7 +1052,7 @@ public class Swagger3Parser extends SwaggerAbstractParser { String value = obj.optString("value"); if (StringUtils.isBlank(value)) { JSONObject mock = obj.optJSONObject(PropertyConstant.MOCK); - if (mock != null) { + if (mock != null && StringUtils.isNotBlank(mock.optString("mock"))) { Object mockValue = mock.get(PropertyConstant.MOCK); property.put("example", mockValue); } else {