Skip to content
This repository was archived by the owner on Dec 4, 2025. It is now read-only.

Commit 1bd2587

Browse files
authored
Merge pull request #920 from shalousun/master
feat: Support Postman collection grouping
2 parents e253a31 + 79dc9a7 commit 1bd2587

1 file changed

Lines changed: 21 additions & 10 deletions

File tree

src/main/java/com/ly/doc/builder/PostmanJsonBuilder.java

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,26 @@ public static void buildPostmanCollection(ApiConfig config, JavaProjectBuilder p
9292
* @return First layer of Postman Item
9393
*/
9494
private static ItemBean buildItemBean(ApiDoc apiDoc) {
95-
ItemBean itemBean = new ItemBean();
96-
itemBean.setName(StringUtil.isEmpty(apiDoc.getDesc()) ? MSG : apiDoc.getDesc());
97-
List<ItemBean> itemBeans = new ArrayList<>();
98-
List<ApiMethodDoc> apiMethodDocs = apiDoc.getList();
99-
apiMethodDocs.forEach(apiMethodDoc -> {
100-
ItemBean itemBean1 = buildItem(apiMethodDoc);
101-
itemBeans.add(itemBean1);
102-
});
103-
itemBean.setItem(itemBeans);
104-
return itemBean;
95+
ItemBean parentItemBean = new ItemBean();
96+
parentItemBean.setName(StringUtil.isEmpty(apiDoc.getDesc()) ? MSG : apiDoc.getDesc());
97+
List<ItemBean> childItemBeans = new ArrayList<>();
98+
99+
if (CollectionUtil.isNotEmpty(apiDoc.getChildrenApiDocs())) {
100+
apiDoc.getChildrenApiDocs().forEach(childApiDoc -> {
101+
ItemBean childItemBean = buildItemBean(childApiDoc);
102+
childItemBeans.add(childItemBean);
103+
});
104+
}
105+
else {
106+
List<ApiMethodDoc> apiMethodDocs = apiDoc.getList();
107+
apiMethodDocs.forEach(apiMethodDoc -> {
108+
ItemBean methodItemBean = buildItem(apiMethodDoc);
109+
childItemBeans.add(methodItemBean);
110+
});
111+
}
112+
113+
parentItemBean.setItem(childItemBeans);
114+
return parentItemBean;
105115
}
106116

107117
/**
@@ -256,6 +266,7 @@ private static void postManCreate(ApiConfig config, ProjectDocConfigBuilder conf
256266
Objects.requireNonNull(docBuildTemplate, "doc build template is null");
257267
config.setShowJavaType(true);
258268
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder).getApiDatas();
269+
apiDocList = docBuildTemplate.handleApiGroup(apiDocList, config);
259270
RequestItem requestItem = new RequestItem();
260271
requestItem.setInfo(new InfoBean(config.getProjectName()));
261272
List<ItemBean> itemBeans = new ArrayList<>();

0 commit comments

Comments
 (0)