From b158125b2ee5ae059c0e1a2eab5003ccf281bd0f Mon Sep 17 00:00:00 2001 From: shedfreewu Date: Fri, 18 Jul 2025 10:50:34 +0800 Subject: [PATCH] fix npe --- .../gateway/context/GatewayConsulRepo.java | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/GatewayConsulRepo.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/GatewayConsulRepo.java index 02118c36d..4cd07f1e6 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/GatewayConsulRepo.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/GatewayConsulRepo.java @@ -398,30 +398,32 @@ public class GatewayConsulRepo { } } - for (GroupApi groupApi : groupApiResult.getResult()) { - GroupContext groupContext = groups.get(groupApi.getGroupId()); - if (groupContext == null) { - if (logger.isDebugEnabled()) { - logger.debug("group api {} not found in group {}", groupApi.getApiId(), groupApi.getGroupId()); + if (groupApiResult != null) { + for (GroupApi groupApi : groupApiResult.getResult()) { + GroupContext groupContext = groups.get(groupApi.getGroupId()); + if (groupContext == null) { + if (logger.isDebugEnabled()) { + logger.debug("group api {} not found in group {}", groupApi.getApiId(), groupApi.getGroupId()); + } + continue; } - continue; - } - GroupContext.ContextRoute contextRoute = new GroupContext.ContextRoute(); - contextRoute.setApiId(groupApi.getApiId()); - contextRoute.setHost(groupApi.getHost()); - contextRoute.setPath(groupApi.getPath()); - contextRoute.setPathMapping(groupApi.getPathMapping()); - contextRoute.setMethod(groupApi.getMethod()); - contextRoute.setService(groupApi.getServiceName()); - contextRoute.setNamespaceId(groupApi.getNamespaceId()); - contextRoute.setNamespace(groupApi.getNamespaceName()); - if (groupApi.getTimeout() != null) { - Map metadata = new HashMap<>(); - metadata.put("response-timeout", String.valueOf(groupApi.getTimeout())); - contextRoute.setMetadata(metadata); + GroupContext.ContextRoute contextRoute = new GroupContext.ContextRoute(); + contextRoute.setApiId(groupApi.getApiId()); + contextRoute.setHost(groupApi.getHost()); + contextRoute.setPath(groupApi.getPath()); + contextRoute.setPathMapping(groupApi.getPathMapping()); + contextRoute.setMethod(groupApi.getMethod()); + contextRoute.setService(groupApi.getServiceName()); + contextRoute.setNamespaceId(groupApi.getNamespaceId()); + contextRoute.setNamespace(groupApi.getNamespaceName()); + if (groupApi.getTimeout() != null) { + Map metadata = new HashMap<>(); + metadata.put("response-timeout", String.valueOf(groupApi.getTimeout())); + contextRoute.setMetadata(metadata); + } + groupContext.getRoutes().add(contextRoute); } - groupContext.getRoutes().add(contextRoute); } if (pathWildcardResult != null && pathWildcardResult.getResult() != null) { @@ -446,7 +448,7 @@ public class GatewayConsulRepo { contextGatewayProperties.setGroups(groups); contextGatewayProperties.setRoutes(routes); - contextGatewayProperties.setPathRewrites(Optional.ofNullable(pathRewriteResult.getResult()) + contextGatewayProperties.setPathRewrites(Optional.ofNullable(pathRewriteResult).map(PathRewriteResult::getResult) .orElse(new ArrayList<>())); logger.debug("Gateway config loaded. :{}", JacksonUtils.serialize2Json(contextGatewayProperties));