diff --git a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/api/NamespaceOpenApiService.java b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/api/NamespaceOpenApiService.java index 760130fb..06012236 100644 --- a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/api/NamespaceOpenApiService.java +++ b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/api/NamespaceOpenApiService.java @@ -26,9 +26,9 @@ */ public interface NamespaceOpenApiService { - OpenNamespaceDTO getNamespace(String appId, String env, String clusterName, String namespaceName); + OpenNamespaceDTO getNamespace(String appId, String env, String clusterName, String namespaceName, boolean fillItemDetail); - List getNamespaces(String appId, String env, String clusterName); + List getNamespaces(String appId, String env, String clusterName, boolean fillItemDetail); OpenAppNamespaceDTO createAppNamespace(OpenAppNamespaceDTO appNamespaceDTO); diff --git a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java index 6981397e..e7a0e2e9 100644 --- a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java +++ b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java @@ -100,10 +100,18 @@ public List getAppsByIds(List appIds) { } /** - * Get the namespaces + * @deprecated use {@link ApolloOpenApiClient#getNamespaces(String, String, String, boolean)} instead */ public List getNamespaces(String appId, String env, String clusterName) { - return namespaceService.getNamespaces(appId, env, clusterName); + return namespaceService.getNamespaces(appId, env, clusterName, true); + } + + /** + * Get the namespaces + * @since 2.4.0 + */ + public List getNamespaces(String appId, String env, String clusterName, boolean fillItemDetail) { + return namespaceService.getNamespaces(appId, env, clusterName, fillItemDetail); } /** @@ -125,10 +133,18 @@ public OpenClusterDTO createCluster(String env, OpenClusterDTO openClusterDTO) { } /** - * Get the namespace + * @deprecated use {@link ApolloOpenApiClient#getNamespace(String, String, String, String, boolean)} instead */ public OpenNamespaceDTO getNamespace(String appId, String env, String clusterName, String namespaceName) { - return namespaceService.getNamespace(appId, env, clusterName, namespaceName); + return namespaceService.getNamespace(appId, env, clusterName, namespaceName, true); + } + + /** + * Get the namespace + * @since 2.4.0 + */ + public OpenNamespaceDTO getNamespace(String appId, String env, String clusterName, String namespaceName, boolean fillItemDetail) { + return namespaceService.getNamespace(appId, env, clusterName, namespaceName, fillItemDetail); } /** diff --git a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiService.java b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiService.java index b1a0a530..f61a2cc2 100644 --- a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiService.java +++ b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiService.java @@ -41,7 +41,7 @@ public NamespaceOpenApiService(CloseableHttpClient client, String baseUrl, Gson } @Override - public OpenNamespaceDTO getNamespace(String appId, String env, String clusterName, String namespaceName) { + public OpenNamespaceDTO getNamespace(String appId, String env, String clusterName, String namespaceName, boolean fillItemDetail) { if (Strings.isNullOrEmpty(clusterName)) { clusterName = ConfigConsts.CLUSTER_NAME_DEFAULT; } @@ -58,6 +58,8 @@ public OpenNamespaceDTO getNamespace(String appId, String env, String clusterNam .clustersPathVal(clusterName) .namespacesPathVal(namespaceName); + pathBuilder.addParam("fillItemDetail", fillItemDetail); + try (CloseableHttpResponse response = get(pathBuilder)) { return gson.fromJson(EntityUtils.toString(response.getEntity()), OpenNamespaceDTO.class); } catch (Throwable ex) { @@ -68,7 +70,7 @@ public OpenNamespaceDTO getNamespace(String appId, String env, String clusterNam } @Override - public List getNamespaces(String appId, String env, String clusterName) { + public List getNamespaces(String appId, String env, String clusterName, boolean fillItemDetail) { if (Strings.isNullOrEmpty(clusterName)) { clusterName = ConfigConsts.CLUSTER_NAME_DEFAULT; } @@ -82,6 +84,8 @@ public List getNamespaces(String appId, String env, String clu .clustersPathVal(clusterName) .customResource("namespaces"); + pathBuilder.addParam("fillItemDetail", fillItemDetail); + try (CloseableHttpResponse response = get(pathBuilder)) { return gson.fromJson(EntityUtils.toString(response.getEntity()), OPEN_NAMESPACE_DTO_LIST_TYPE); } catch (Throwable ex) { diff --git a/apollo-openapi/src/test/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiServiceTest.java b/apollo-openapi/src/test/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiServiceTest.java index 31c656a2..1ea6f414 100644 --- a/apollo-openapi/src/test/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiServiceTest.java +++ b/apollo-openapi/src/test/java/com/ctrip/framework/apollo/openapi/client/service/NamespaceOpenApiServiceTest.java @@ -58,7 +58,7 @@ public void setUp() throws Exception { public void testGetNamespace() throws Exception { final ArgumentCaptor request = ArgumentCaptor.forClass(HttpGet.class); - namespaceOpenApiService.getNamespace(someAppId, someEnv, someCluster, someNamespace); + namespaceOpenApiService.getNamespace(someAppId, someEnv, someCluster, someNamespace, true); verify(httpClient, times(1)).execute(request.capture()); @@ -73,7 +73,7 @@ public void testGetNamespace() throws Exception { public void testGetNamespaceWithError() throws Exception { when(statusLine.getStatusCode()).thenReturn(404); - namespaceOpenApiService.getNamespace(someAppId, someEnv, someCluster, someNamespace); + namespaceOpenApiService.getNamespace(someAppId, someEnv, someCluster, someNamespace, true); } @Test @@ -83,7 +83,7 @@ public void testGetNamespaces() throws Exception { final ArgumentCaptor request = ArgumentCaptor.forClass(HttpGet.class); - namespaceOpenApiService.getNamespaces(someAppId, someEnv, someCluster); + namespaceOpenApiService.getNamespaces(someAppId, someEnv, someCluster, true); verify(httpClient, times(1)).execute(request.capture()); @@ -98,7 +98,7 @@ public void testGetNamespaces() throws Exception { public void testGetNamespacesWithError() throws Exception { when(statusLine.getStatusCode()).thenReturn(404); - namespaceOpenApiService.getNamespaces(someAppId, someEnv, someCluster); + namespaceOpenApiService.getNamespaces(someAppId, someEnv, someCluster, true); } @Test