Skip to content

Commit 99bb8fe

Browse files
committed
findName属性
1 parent 805b679 commit 99bb8fe

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

apidoc-core/src/main/java/com/ztianzeng/apidoc/ModelResolver.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ public Schema resolve(AnnotatedType annotatedType,
5454

5555
String parentName = annotatedType.getName();
5656
if (StringUtils.isBlank(parentName)) {
57-
parentName = targetClass.getName();
57+
parentName = findName(targetClass, new StringBuilder());
58+
;
5859
}
5960

6061

@@ -229,4 +230,25 @@ public void setRefType(JavaClass type, Schema schema, AnnotatedType annotatedTyp
229230
}
230231
}
231232

233+
/**
234+
* 设置泛型
235+
*
236+
* @param type
237+
*/
238+
public String findName(JavaClass type, StringBuilder stringBuilder) {
239+
240+
stringBuilder.append(type.getName());
241+
if (type instanceof DefaultJavaParameterizedType) {
242+
List<JavaType> ref = ((DefaultJavaParameterizedType) type).getActualTypeArguments();
243+
if (!ref.isEmpty()) {
244+
for (JavaType actualTypeArgument : ref) {
245+
if (actualTypeArgument instanceof DefaultJavaParameterizedType) {
246+
return findName((DefaultJavaParameterizedType) actualTypeArgument, stringBuilder);
247+
}
248+
}
249+
}
250+
}
251+
return stringBuilder.toString();
252+
}
253+
232254
}

apidoc-core/src/main/java/com/ztianzeng/apidoc/Reader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,9 @@ public Operation parseMethod(JavaMethod javaMethod, boolean deprecated, String t
275275

276276
if (objectSchema != null) {
277277
if (objectSchema instanceof ArraySchema) {
278-
((ArraySchema) objectSchema).getItems().$ref(constructRef(schemaMap.keySet().stream().findFirst().orElse("")));
278+
((ArraySchema) objectSchema).getItems().$ref(constructRef(objectSchema.getName()));
279279
} else {
280-
objectSchema.$ref(constructRef(schemaMap.keySet().stream().findFirst().orElse("")));
280+
objectSchema.$ref(constructRef(objectSchema.getName()));
281281

282282
}
283283
}

0 commit comments

Comments
 (0)