fix #19
diff --git a/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/DubboApiDocsAnnotationScanner.java b/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/DubboApiDocsAnnotationScanner.java
index f8bb60e..f3287da 100644
--- a/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/DubboApiDocsAnnotationScanner.java
+++ b/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/DubboApiDocsAnnotationScanner.java
@@ -120,16 +120,20 @@
}
boolean async;
String apiVersion;
+ String apiGroup;
if (apiModuleClass.isAnnotationPresent(Service.class)) {
Service dubboService = apiModuleClass.getAnnotation(Service.class);
async = dubboService.async();
apiVersion = dubboService.version();
+ apiGroup = dubboService.group();
} else {
DubboService dubboService = apiModuleClass.getAnnotation(DubboService.class);
async = dubboService.async();
apiVersion = dubboService.version();
+ apiGroup = dubboService.group();
}
apiVersion = applicationContext.getEnvironment().resolvePlaceholders(apiVersion);
+ apiGroup = applicationContext.getEnvironment().resolvePlaceholders(apiGroup);
ModuleCacheItem moduleCacheItem = new ModuleCacheItem();
DubboApiDocsCache.addApiModule(moduleAnn.apiInterface().getCanonicalName(), moduleCacheItem);
//module name
@@ -138,6 +142,8 @@
moduleCacheItem.setModuleClassName(moduleAnn.apiInterface().getCanonicalName());
//module version
moduleCacheItem.setModuleVersion(apiVersion);
+ //module group
+ moduleCacheItem.setModuleGroup(apiGroup);
Method[] apiModuleMethods = apiModuleClass.getMethods();
// API basic information list in module cache
@@ -145,7 +151,7 @@
moduleCacheItem.setModuleApiList(moduleApiList);
for (Method method : apiModuleMethods) {
if (method.isAnnotationPresent(ApiDoc.class)) {
- processApiDocAnnotation(method, moduleApiList, moduleAnn, async, moduleCacheItem, apiVersion);
+ processApiDocAnnotation(method, moduleApiList, moduleAnn, async, moduleCacheItem, apiVersion, apiGroup);
}
}
});
@@ -153,7 +159,7 @@
}
private void processApiDocAnnotation(Method method, List<ApiCacheItem> moduleApiList, ApiModule moduleAnn,
- boolean async, ModuleCacheItem moduleCacheItem, String apiVersion) {
+ boolean async, ModuleCacheItem moduleCacheItem, String apiVersion, String apiGroup) {
ApiDoc dubboApi = method.getAnnotation(ApiDoc.class);
@@ -168,6 +174,8 @@
apiListItem.setDescription(dubboApi.description());
//API version
apiListItem.setApiVersion(apiVersion);
+ //API group
+ apiListItem.setApiGroup(apiGroup);
//Description of API return data
apiListItem.setApiRespDec(dubboApi.responseClassDescription());
@@ -185,6 +193,7 @@
apiParamsAndResp.setApiName(method.getName());
apiParamsAndResp.setApiDocName(dubboApi.value());
apiParamsAndResp.setApiVersion(apiVersion);
+ apiParamsAndResp.setApiGroup(apiGroup);
apiParamsAndResp.setApiRespDec(dubboApi.responseClassDescription());
apiParamsAndResp.setDescription(dubboApi.description());
apiParamsAndResp.setApiModelClass(moduleCacheItem.getModuleClassName());
diff --git a/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ApiCacheItem.java b/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ApiCacheItem.java
index f88c039..b92fae9 100644
--- a/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ApiCacheItem.java
+++ b/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ApiCacheItem.java
@@ -31,6 +31,8 @@
private String apiVersion;
+ private String apiGroup;
+
private String description;
private String apiRespDec;
@@ -122,4 +124,12 @@
public void setMethodParamInfo(String methodParamInfo) {
this.methodParamInfo = methodParamInfo;
}
+
+ public String getApiGroup() {
+ return apiGroup;
+ }
+
+ public void setApiGroup(String apiGroup) {
+ this.apiGroup = apiGroup;
+ }
}
diff --git a/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ModuleCacheItem.java b/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ModuleCacheItem.java
index e729969..0147152 100644
--- a/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ModuleCacheItem.java
+++ b/dubbo-api-docs/dubbo-api-docs-core/src/main/java/org/apache/dubbo/apidocs/core/beans/ModuleCacheItem.java
@@ -29,6 +29,8 @@
private String moduleVersion;
+ private String moduleGroup;
+
private List<ApiCacheItem> moduleApiList;
public String getModuleDocName() {
@@ -62,4 +64,12 @@
public void setModuleApiList(List<ApiCacheItem> moduleApiList) {
this.moduleApiList = moduleApiList;
}
+
+ public String getModuleGroup() {
+ return moduleGroup;
+ }
+
+ public void setModuleGroup(String moduleGroup) {
+ this.moduleGroup = moduleGroup;
+ }
}
diff --git a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/java/org/apache/dubbo/apidocs/examples/api/impl/QuickStartDemoImpl.java b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/java/org/apache/dubbo/apidocs/examples/api/impl/QuickStartDemoImpl.java
index f02ae82..75db7ab 100644
--- a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/java/org/apache/dubbo/apidocs/examples/api/impl/QuickStartDemoImpl.java
+++ b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/java/org/apache/dubbo/apidocs/examples/api/impl/QuickStartDemoImpl.java
@@ -40,7 +40,7 @@
*
* @date 2020/12/23 17:21
*/
-@DubboService(version = "${demo.apiversion.quickstart}")
+@DubboService(version = "${demo.apiversion.quickstart}", group = "demoGroup")
@ApiModule(value = "quick start demo", apiInterface = IQuickStartDemo.class)
public class QuickStartDemoImpl implements IQuickStartDemo {
diff --git a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/resources/application.yml b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/resources/application.yml
index 10a1831..58b8cc7 100644
--- a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/resources/application.yml
+++ b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/src/main/resources/application.yml
@@ -23,6 +23,7 @@
dubbo:
registry:
address: zookeeper://127.0.0.1:2181
+# group: DEFAULT_GROUP
provider:
timeout: 2000
filter: metrics
@@ -33,8 +34,10 @@
name: dubbo-api-docs-example-provider
metadata-report:
address: zookeeper://127.0.0.1:2181
+# group: DEFAULT_GROUP
config-center:
address: zookeeper://127.0.0.1:2181
+# group: DEFAULT_GROUP
metrics:
port: ${dubbo.protocol.port}
protocol: dubbo