修复返回数组文档不显示问题

1.x
tanghc 5 years ago
parent 96f9a489b4
commit 66f9d71b8e
  1. 26
      sop-website/website-server/src/main/java/com/gitee/sop/websiteserver/manager/SwaggerDocParser.java

@ -137,12 +137,11 @@ public class SwaggerDocParser implements DocParser {
}) })
.collect(Collectors.groupingBy(DocParameter::getModule)); .collect(Collectors.groupingBy(DocParameter::getModule));
collect.entrySet() collect.forEach((key, value) -> {
.forEach(entry -> {
DocParameter moduleDoc = new DocParameter(); DocParameter moduleDoc = new DocParameter();
moduleDoc.setName(entry.getKey()); moduleDoc.setName(key);
moduleDoc.setType("object"); moduleDoc.setType("object");
moduleDoc.setRefs(entry.getValue()); moduleDoc.setRefs(value);
docParameterList.add(moduleDoc); docParameterList.add(moduleDoc);
}); });
@ -242,32 +241,29 @@ public class SwaggerDocParser implements DocParser {
return Optional.ofNullable(docInfo.getJSONObject("responses")) return Optional.ofNullable(docInfo.getJSONObject("responses"))
.flatMap(jsonObject -> Optional.ofNullable(jsonObject.getJSONObject("200"))) .flatMap(jsonObject -> Optional.ofNullable(jsonObject.getJSONObject("200")))
.flatMap(jsonObject -> Optional.ofNullable(jsonObject.getJSONObject("schema"))) .flatMap(jsonObject -> Optional.ofNullable(jsonObject.getJSONObject("schema")))
.flatMap(schema -> { .map(this::getRefInfo)
RefInfo refInfo = getRefInfo(schema);
return Optional.ofNullable(refInfo);
})
.orElse(null); .orElse(null);
} }
private RefInfo getRefInfo(JSONObject jsonObject) { private RefInfo getRefInfo(JSONObject jsonObject) {
String $ref; String ref;
boolean isArray = "array".equals(jsonObject.getString("type")); boolean isArray = "array".equals(jsonObject.getString("type"));
if (isArray) { if (isArray) {
$ref = jsonObject.getJSONObject("items").getString("$ref"); ref = jsonObject.getJSONObject("items").getString("$ref");
} else { } else {
// #/definitions/Category // #/definitions/Category
$ref = jsonObject.getString("$ref"); ref = jsonObject.getString("$ref");
} }
if ($ref == null) { if (ref == null) {
return null; return null;
} }
int index = $ref.lastIndexOf("/"); int index = ref.lastIndexOf("/");
if (index > -1) { if (index > -1) {
$ref = $ref.substring(index + 1); ref = ref.substring(index + 1);
} }
RefInfo refInfo = new RefInfo(); RefInfo refInfo = new RefInfo();
refInfo.isArray = isArray; refInfo.isArray = isArray;
refInfo.ref = $ref; refInfo.ref = ref;
return refInfo; return refInfo;
} }

Loading…
Cancel
Save