diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/swagger/SwaggerProvider.java b/magic-api/src/main/java/org/ssssssss/magicapi/swagger/SwaggerProvider.java index c72a6408..fde74142 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/swagger/SwaggerProvider.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/swagger/SwaggerProvider.java @@ -6,6 +6,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.ssssssss.magicapi.config.MappingHandlerMapping; import org.ssssssss.magicapi.model.ApiInfo; import org.ssssssss.magicapi.model.BaseDefinition; +import org.ssssssss.magicapi.model.DataType; import org.ssssssss.magicapi.model.Path; import org.ssssssss.magicapi.provider.GroupServiceProvider; import org.ssssssss.script.parsing.ast.literal.BooleanLiteral; @@ -137,15 +138,19 @@ public class SwaggerProvider { String groupName = groupServiceProvider.getFullName(info.getGroupId()).replace("/", "-"); String voName = groupName + "«" + info.getPath().replaceFirst("/", "").replaceAll("/", "_") + "«request«"; if (VAR_NAME_REQUEST_BODY_VALUE_TYPE_ARRAY.equalsIgnoreCase(baseDefinition.getDataType().getJavascriptType())) { - voName += "root_" + (StringUtils.isNotBlank(baseDefinition.getChildren().get(0).getName()) ? "_" + baseDefinition.getChildren().get(0).getName() : "") + "»»»"; + voName += "root_" + (StringUtils.isNotBlank(baseDefinition.getChildren().get(0).getName()) ? "_" + baseDefinition.getChildren().get(0).getName() : "_") + "»»»"; + + Map items = new HashMap<>(2); + items.put("originalRef", voName); + items.put("$ref", DEFINITION + voName); + schema.put("items", items); + schema.put("type", VAR_NAME_REQUEST_BODY_VALUE_TYPE_ARRAY); } else { voName += "root_" + baseDefinition.getName() + "»»»"; + schema.put("originalRef", voName); + schema.put("$ref", DEFINITION + voName); } - - schema.put("originalRef", voName); - schema.put("$ref", DEFINITION + voName); - parameter.put("schema", schema); - // parameter.setSchema(schema); + parameter.put("schema", schema); parameters.add(parameter); }else{ Object object = mapper.readValue(info.getRequestBody(), Object.class); diff --git a/magic-editor/src/console/src/components/common/magic-json.vue b/magic-editor/src/console/src/components/common/magic-json.vue index 6126e5ba..299c05f3 100644 --- a/magic-editor/src/console/src/components/common/magic-json.vue +++ b/magic-editor/src/console/src/components/common/magic-json.vue @@ -192,7 +192,7 @@ } .json-view { - width: 35vw; + width: 30vw; overflow: scroll; margin: 0px 10px; border: 1px solid var(--border-color); diff --git a/magic-editor/src/console/src/components/layout/magic-request.vue b/magic-editor/src/console/src/components/layout/magic-request.vue index c166a694..9ae51dfb 100644 --- a/magic-editor/src/console/src/components/layout/magic-request.vue +++ b/magic-editor/src/console/src/components/layout/magic-request.vue @@ -153,7 +153,7 @@
-
+
编辑器
@@ -374,12 +374,11 @@ expression: '', error: '', description: '', - children: this.processBody(body, 0), + children: this.processBody('Array' === this.getType(body) ? deepClone([body[0]]) : body, 0), level: 0, selected: this.requestBody.length <= 0 }) - - this.requestBody = this.valueCopy(reqBody, this.requestBody) + this.requestBody = deepClone(this.valueCopy(reqBody, this.requestBody)) this.forceUpdate = !this.forceUpdate; } catch (e) { // console.error(e) @@ -389,7 +388,7 @@ let arr = [], that = this Object.keys(body).forEach((key) => { let param = { - name: 'Array' !== this.getType(body) ? key : '', + name: 'Array' !== this.getType(body) ? key : 'Array' === this.getType(body) && 'Object' !== that.getType(body[key]) ? key : '', value: 'Object' !== that.getType(body[key]) && 'Array' !== that.getType(body[key]) ? body[key] : '', dataType: this.getType(body[key]), validateType: '', @@ -401,7 +400,7 @@ selected: false } if ('Object' === that.getType(body[key]) || 'Array' === that.getType(body[key])) { - param.children = that.processBody(body[key], level + 1); + param.children = that.processBody('Array' === that.getType(body[key]) ? deepClone([body[key][0]]) : body[key], level + 1); } arr.push(param) @@ -458,7 +457,6 @@ item.expression = oldItemArr[0].expression item.error = oldItemArr[0].error } - item.name = oldItemArr[0].name item.description = oldItemArr[0].description item.selected = oldItemArr[0].selected item.required = oldItemArr[0].required diff --git a/magic-editor/src/console/src/components/layout/magic-run.vue b/magic-editor/src/console/src/components/layout/magic-run.vue index 190b0225..4927a3e8 100644 --- a/magic-editor/src/console/src/components/layout/magic-run.vue +++ b/magic-editor/src/console/src/components/layout/magic-run.vue @@ -131,7 +131,7 @@ export default { let arr = [], that = this Object.keys(body).forEach((key) => { let param = { - name: 'Array' !== this.getType(body) ? key : '', + name: 'Array' !== this.getType(body) ? key : 'Array' === this.getType(body) && 'Object' !== that.getType(body[key]) ? key : '', value: 'Object' !== that.getType(body[key]) && 'Array' !== that.getType(body[key]) ? body[key] : '', dataType: this.getType(body[key]), validateType: '', @@ -143,7 +143,7 @@ export default { selected: false } if ('Object' === that.getType(body[key]) || 'Array' === that.getType(body[key])) { - param.children = that.processBody(body[key], level + 1); + param.children = that.processBody('Array' === that.getType(body[key]) ? deepClone([body[key][0]]) : body[key], level + 1); } arr.push(param)