diff --git a/backend/sdk/src/main/java/com/alibaba/higress/sdk/model/ServiceSource.java b/backend/sdk/src/main/java/com/alibaba/higress/sdk/model/ServiceSource.java index 8340d64a..f14898da 100644 --- a/backend/sdk/src/main/java/com/alibaba/higress/sdk/model/ServiceSource.java +++ b/backend/sdk/src/main/java/com/alibaba/higress/sdk/model/ServiceSource.java @@ -48,6 +48,11 @@ public class ServiceSource implements VersionedDto { private static final Set PROXY_SUPPORTED_REGISTRY_TYPES = ImmutableSet.of(V1McpBridge.REGISTRY_TYPE_STATIC, V1McpBridge.REGISTRY_TYPE_DNS); + private static final Set ALLOWABLE_TYPES = + ImmutableSet.of(V1McpBridge.REGISTRY_TYPE_NACOS, V1McpBridge.REGISTRY_TYPE_NACOS2, + V1McpBridge.REGISTRY_TYPE_NACOS3, V1McpBridge.REGISTRY_TYPE_ZK, V1McpBridge.REGISTRY_TYPE_CONSUL, + V1McpBridge.REGISTRY_TYPE_EUREKA, V1McpBridge.REGISTRY_TYPE_STATIC, V1McpBridge.REGISTRY_TYPE_DNS); + static { VALIDATORS.put(V1McpBridge.REGISTRY_TYPE_NACOS, new NacosServiceSourceValidator()); VALIDATORS.put(V1McpBridge.REGISTRY_TYPE_NACOS2, new NacosServiceSourceValidator()); @@ -112,6 +117,11 @@ public boolean isValid() { return false; } + // Check if type is within allowable values + if (!ALLOWABLE_TYPES.contains(this.type)) { + return false; + } + if (this.getPort() == null || !ValidateUtil.checkPort(this.getPort())) { return false; }