fix api destination update
diff --git a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
index d730daf..8430495 100644
--- a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
+++ b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationRequest.java
@@ -40,9 +40,6 @@
     private String apiDestinationName;
 
     @SerializedName("ConnectionName")
-    @Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The Connection name is invalid! Only letters a~z or A~Z, numbers 0~9, underscore (_) and dash (-) are supported.")
-    @Length(min = 2, max = 127, message = "The connection name length cannot exceed 127.")
-    @NotBlank(message = "ConnectionName is blank.")
     private String connectionName;
 
     @SerializedName("Description")
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
index 5563c73..0a1c9a0 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
@@ -100,8 +100,23 @@
         if (checkApiDestination(apiDestinationDTO.getAccountId(), apiDestinationDTO.getName()) == null) {
             throw new EventBridgeException(EventBridgeErrorCode.ApiDestinationNotExist, apiDestinationDTO.getName());
         }
-        checkHttpApiParameters(apiDestinationDTO.getApiParams());
-        checkConnection(apiDestinationDTO);
+        ApiDestinationDTO oldApiDestination = getApiDestination(apiDestinationDTO.getAccountId(), apiDestinationDTO.getName());
+        if (StringUtils.isBlank(apiDestinationDTO.getConnectionName())) {
+            apiDestinationDTO.setConnectionName(oldApiDestination.getConnectionName());
+        }
+        if (apiDestinationDTO.getApiParams() == null) {
+            apiDestinationDTO.setApiParams(oldApiDestination.getApiParams());
+        } else {
+            HttpApiParameters apiParams = apiDestinationDTO.getApiParams();
+            HttpApiParameters oldApiParams = oldApiDestination.getApiParams();
+            if (StringUtils.isBlank(apiParams.getEndpoint())) {
+                apiParams.setEndpoint(oldApiParams.getEndpoint());
+            }
+            if (StringUtils.isBlank(apiParams.getMethod())) {
+                apiParams.setMethod(oldApiParams.getMethod());
+            }
+            apiDestinationDTO.setApiParams(apiParams);
+        }
         return apiDestinationRepository.updateApiDestination(apiDestinationDTO);
     }