fix(接口测试): 修复导出接口为swagger格式-json请求体数据丢失问题

--bug=1025439 --user=郭雨琦
https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001025439
This commit is contained in:
guoyuqi 2023-04-14 18:36:17 +08:00 committed by fit2-zhao
parent 9864e364f1
commit 81483dd438
1 changed files with 9 additions and 6 deletions

View File

@ -792,7 +792,7 @@ public class Swagger3Parser extends SwaggerAbstractParser {
JSONObject schema = new JSONObject();
schema.put(PropertyConstant.TYPE, PropertyConstant.OBJECT);
JSONObject properties = buildSchema(requestBody);
schema.put(PropertyConstant.REQUIRED, properties);
schema.put(PropertyConstant.PROPERTIES, properties);
return schema;
}
@ -806,7 +806,7 @@ public class Swagger3Parser extends SwaggerAbstractParser {
Object example = requestBody.get(0);
if (example instanceof JSONObject) {
items.put(PropertyConstant.TYPE, PropertyConstant.OBJECT);
items.put(PropertyConstant.REQUIRED, buildSchema((JSONObject) example));
items.put(PropertyConstant.PROPERTIES, buildSchema((JSONObject) example));
} else if (example instanceof String) {
items.put(PropertyConstant.TYPE, PropertyConstant.STRING);
} else if (example instanceof Integer) {
@ -1227,10 +1227,13 @@ public class Swagger3Parser extends SwaggerAbstractParser {
bodyInfo = buildJsonSchema(jsonObject, required);
}
} else {
try { // 若请求体是一个 object
bodyInfo = buildRequestBodyJsonInfo(body.optJSONArray("raw"));
} catch (Exception e) {
bodyInfo = buildRequestBodyJsonInfo(body.optJSONObject("raw"));
String raw = body.optString("raw");
if (StringUtils.isNotBlank(raw)) {
if (StringUtils.startsWith(raw, "[") && StringUtils.endsWith(raw, "]")) {
bodyInfo = buildRequestBodyJsonInfo(JSONUtil.parseArray(raw));
} else {
bodyInfo = buildRequestBodyJsonInfo(JSONUtil.parseObject(raw));
}
}
}
} catch (Exception e1) { // 若请求体 json 不合法则忽略错误原样字符串导出/导入