This is an automated email from the ASF dual-hosted git repository.

shenlin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-eventbridge.git


The following commit(s) were added to refs/heads/main by this push:
     new 9583243  Fix api param and connection param check (#59)
9583243 is described below

commit 95832434919942564d8934e49387114d86830675
Author: zhaohai <[email protected]>
AuthorDate: Tue Mar 21 13:38:02 2023 +0800

    Fix api param and connection param check (#59)
    
    Fix api param and connection param check
---
 .../api/controller/ApiDestinationController.java   |  1 +
 .../api/controller/ConnectionController.java       |  7 +-
 .../CreateApiDestinationRequest.java               |  8 +-
 .../CreateApiDestinationResponse.java              |  4 +-
 .../DeleteApiDestinationResponse.java              |  4 +-
 .../apidestination/GetApiDestinationResponse.java  |  4 +-
 .../apidestination/ListApiDestinationsRequest.java | 13 +++-
 .../ListApiDestinationsResponse.java               |  6 +-
 .../UpdateApiDestinationRequest.java               |  9 ++-
 .../UpdateApiDestinationResponse.java              |  4 +-
 .../dto/connection/CreateConnectionRequest.java    |  7 +-
 .../dto/connection/CreateConnectionResponse.java   |  4 +-
 .../dto/connection/DeleteConnectionResponse.java   |  4 +-
 .../api/dto/connection/GetConnectionResponse.java  |  4 +-
 .../api/dto/connection/ListConnectionRequest.java  | 14 +++-
 .../api/dto/connection/ListConnectionResponse.java |  6 +-
 .../dto/connection/UpdateConnectionRequest.java    |  6 ++
 .../dto/connection/UpdateConnectionResponse.java   |  4 +-
 .../domain/common/EventBridgeConstants.java        |  8 ++
 .../common/exception/EventBridgeErrorCode.java     | 26 ++++++-
 .../apidestination/ApiDestinationService.java      | 22 +++++-
 .../parameter/HttpApiParameters.java               |  3 -
 .../domain/model/connection/ConnectionService.java | 89 +++++++++++++++++++---
 .../connection/parameter/NetworkParameters.java    |  2 -
 24 files changed, 212 insertions(+), 47 deletions(-)

diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
index d99aa98..0f99001 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
@@ -168,6 +168,7 @@ public class ApiDestinationController {
                     return new ListApiDestinationsResponse(null, null, null, 
0).parameterCheckFailRes(
                         errMessage.toString());
                 }
+                listApiDestinationsRequest.checkMaxResultsAndNextToken();
                 final PaginationResult<List<ApiDestinationDTO>> 
listPaginationResult
                     = 
apiDestinationService.listApiDestinations(accountAPI.getResourceOwnerAccountId(ctx),
                     listApiDestinationsRequest.getApiDestinationNamePrefix(), 
listApiDestinationsRequest.getNextToken(),
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
index 58a6d2f..e08fb49 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
@@ -192,6 +192,7 @@ public class ConnectionController {
                 if (!CollectionUtils.isEmpty(errMessage)) {
                     return new ListConnectionResponse(null, null, null, 
0).parameterCheckFailRes(errMessage.toString());
                 }
+                listConnectionRequest.checkMaxResultsAndNextToken();
                 final PaginationResult<List<ConnectionDTO>> 
listPaginationResult = connectionService.listConnections(
                     accountAPI.getResourceOwnerAccountId(ctx), 
listConnectionRequest.getConnectionNamePrefix(),
                     listConnectionRequest.getNextToken(), 
listConnectionRequest.getMaxResults());
@@ -249,8 +250,10 @@ public class ConnectionController {
         }
         if (oauthParameters != null) {
             OAuthParameters.ClientParameters clientParameters = 
oauthParameters.getClientParameters();
-            clientParameters.setClientSecret("**");
-            oauthParameters.setClientParameters(clientParameters);
+            if (clientParameters != null) {
+                clientParameters.setClientSecret("**");
+                oauthParameters.setClientParameters(clientParameters);
+            }
         }
         return connectionResponse;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
index b6ff979..b363376 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationRequest.java
@@ -18,7 +18,6 @@
 package org.apache.rocketmq.eventbridge.adapter.api.dto.apidestination;
 
 import com.google.gson.annotations.SerializedName;
-import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Pattern;
 import lombok.Getter;
@@ -33,19 +32,20 @@ import org.hibernate.validator.constraints.Length;
 @ToString
 public class CreateApiDestinationRequest extends BaseResponse {
 
-    @Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The 
ApiDestination name is invalid! Which should match the pattern.")
-    @Length(min = 1, max = 127, message = "The ApiDestination name Exceeded 
length.")
+    @Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The 
ApiDestination name is invalid! Only letters a~z or A~Z, numbers 0~9, 
underscore (_) and dash (-) are supported.")
+    @Length(min = 1, max = 127, message = "The ApiDestination name length 
cannot exceed 127.")
     @NotBlank(message = "ApiDestinationName is blank")
     @SerializedName("ApiDestinationName")
     private String apiDestinationName;
 
     @SerializedName("ConnectionName")
+    @Length(max = 127, message = "The connectionName length cannot exceed 
127.")
     private String connectionName;
 
     @SerializedName("Description")
+    @Length(max = 255, message = "The ApiDestination description length cannot 
exceed 255.")
     private String description;
 
-    @Valid
     @SerializedName("HttpApiParameters")
     private HttpApiParameters httpApiParameters;
 
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationResponse.java
index 457c781..859b2c0 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/CreateApiDestinationResponse.java
@@ -24,6 +24,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -39,7 +41,7 @@ public class CreateApiDestinationResponse extends 
BaseResponse {
     }
 
     public CreateApiDestinationResponse parameterCheckFailRes(String errorMsg) 
{
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/DeleteApiDestinationResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/DeleteApiDestinationResponse.java
index 991096f..58703b5 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/DeleteApiDestinationResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/DeleteApiDestinationResponse.java
@@ -24,6 +24,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -37,7 +39,7 @@ public class DeleteApiDestinationResponse extends 
BaseResponse {
     }
 
     public DeleteApiDestinationResponse parameterCheckFailRes(String errorMsg) 
{
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/GetApiDestinationResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/GetApiDestinationResponse.java
index a45103d..fc1f59a 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/GetApiDestinationResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/GetApiDestinationResponse.java
@@ -26,6 +26,8 @@ import 
org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 import 
org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -57,7 +59,7 @@ public class GetApiDestinationResponse extends BaseResponse {
     }
 
     public GetApiDestinationResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
index 19aa266..a2a9a7d 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
@@ -19,10 +19,10 @@ package 
org.apache.rocketmq.eventbridge.adapter.api.dto.apidestination;
 
 import com.google.gson.annotations.SerializedName;
 import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 
 @Getter
@@ -35,10 +35,17 @@ public class ListApiDestinationsRequest extends 
BaseResponse {
 
     @Min(value = 0, message = "The limit size of page is invalid, which must 
greater than 0 and less than [{0}].")
     @SerializedName("MaxResults")
-    private int maxResults;
+    private Integer maxResults;
 
-    @NotBlank(message = "The next token of page is invalid. which should be 
{[0]}.")
     @SerializedName("NextToken")
     private String nextToken;
 
+    public void checkMaxResultsAndNextToken() {
+        if (StringUtils.isBlank(this.getNextToken())) {
+            this.setNextToken("0");
+        }
+        if (this.getMaxResults() == null) {
+            this.setMaxResults(10);
+        }
+    }
 }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsResponse.java
index 0f05bab..9a51299 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsResponse.java
@@ -26,6 +26,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -42,7 +44,7 @@ public class ListApiDestinationsResponse extends BaseResponse 
{
     private Integer total;
 
     @SerializedName("MaxResults")
-    private int maxResults;
+    private Integer maxResults;
 
     public ListApiDestinationsResponse success() {
         setCode(EventBridgeErrorCode.Success.getCode());
@@ -51,7 +53,7 @@ public class ListApiDestinationsResponse extends BaseResponse 
{
     }
 
     public ListApiDestinationsResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
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 3178ea9..7dd4a2f 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
@@ -18,30 +18,35 @@
 package org.apache.rocketmq.eventbridge.adapter.api.dto.apidestination;
 
 import com.google.gson.annotations.SerializedName;
-import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
+import org.hibernate.validator.constraints.Length;
 
 @Getter
 @Setter
 @ToString
 public class UpdateApiDestinationRequest extends BaseResponse {
 
+    @Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The 
ApiDestination name is invalid! Only letters a~z or A~Z, numbers 0~9, 
underscore (_) and dash (-) are supported.")
+    @Length(min = 1, max = 127, message = "The ApiDestination name length 
cannot exceed 127.")
     @NotBlank(message = "ApiDestinationName is blank")
     @SerializedName("ApiDestinationName")
     private String apiDestinationName;
 
     @SerializedName("ConnectionName")
+    @Length(max = 127, message = "The connectionName length cannot exceed 
127.")
     private String connectionName;
 
     @SerializedName("Description")
+    @Length(max = 255, message = "The ApiDestination description length cannot 
exceed 255.")
     private String description;
 
-    @Valid
     @SerializedName("HttpApiParameters")
     private HttpApiParameters httpApiParameters;
 
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationResponse.java
index ab12d59..cad0b02 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/UpdateApiDestinationResponse.java
@@ -24,6 +24,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -37,7 +39,7 @@ public class UpdateApiDestinationResponse extends 
BaseResponse {
     }
 
     public UpdateApiDestinationResponse parameterCheckFailRes(String errorMsg) 
{
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
index 09c896d..9e9de83 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionRequest.java
@@ -18,7 +18,6 @@
 package org.apache.rocketmq.eventbridge.adapter.api.dto.connection;
 
 import com.google.gson.annotations.SerializedName;
-import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Pattern;
 import lombok.Getter;
@@ -34,16 +33,16 @@ import org.hibernate.validator.constraints.Length;
 @ToString
 public class CreateConnectionRequest extends BaseRequest {
 
-    @Pattern(regexp = "^[A-Za-z|0-9][A-Za-z|0-9|_|-]+$", message = "The 
Connection name is invalid! Which should match the pattern.")
-    @Length(min = 1, max = 127, message = "The Connection name Exceeded 
length.")
+    @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 = 1, max = 127, message = "The connection name length cannot 
exceed 127.")
     @NotBlank(message = "ConnectionName is blank.")
     @SerializedName("ConnectionName")
     private String connectionName;
 
     @SerializedName("Description")
+    @Length(max = 255, message = "The connection description length cannot 
exceed 255.")
     private String description;
 
-    @Valid
     @SerializedName("NetworkParameters")
     private NetworkParameters networkParameters;
 
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionResponse.java
index df10bdc..d3ab455 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/CreateConnectionResponse.java
@@ -24,6 +24,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -39,7 +41,7 @@ public class CreateConnectionResponse extends BaseResponse {
     }
 
     public CreateConnectionResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/DeleteConnectionResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/DeleteConnectionResponse.java
index 1d2c1c5..3991199 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/DeleteConnectionResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/DeleteConnectionResponse.java
@@ -24,6 +24,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -37,7 +39,7 @@ public class DeleteConnectionResponse extends BaseResponse {
     }
 
     public DeleteConnectionResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/GetConnectionResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/GetConnectionResponse.java
index d5f31fe..1cd5a49 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/GetConnectionResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/GetConnectionResponse.java
@@ -26,6 +26,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -42,7 +44,7 @@ public class GetConnectionResponse extends BaseResponse {
     }
 
     public GetConnectionResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionRequest.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionRequest.java
index 7b18766..d935a22 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionRequest.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionRequest.java
@@ -19,10 +19,10 @@ package 
org.apache.rocketmq.eventbridge.adapter.api.dto.connection;
 
 import com.google.gson.annotations.SerializedName;
 import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseRequest;
 
 @Setter
@@ -35,9 +35,17 @@ public class ListConnectionRequest extends BaseRequest {
 
     @Min(value = 0, message = "The limit size of page is invalid, which must 
greater than 0 and less than [{0}].")
     @SerializedName("MaxResults")
-    private int maxResults;
+    private Integer maxResults;
 
-    @NotBlank(message = "The next token of page is invalid. which should be 
{[0]}.")
     @SerializedName("NextToken")
     private String nextToken;
+
+    public void checkMaxResultsAndNextToken() {
+        if (StringUtils.isBlank(this.getNextToken())) {
+            this.setNextToken("0");
+        }
+        if (this.getMaxResults() == null) {
+            this.setMaxResults(10);
+        }
+    }
 }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionResponse.java
index b083f81..f624f6f 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ListConnectionResponse.java
@@ -26,6 +26,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -42,7 +44,7 @@ public class ListConnectionResponse extends BaseResponse {
     private Integer total;
 
     @SerializedName("MaxResults")
-    private int maxResults;
+    private Integer maxResults;
 
     public ListConnectionResponse success() {
         setCode(EventBridgeErrorCode.Success.getCode());
@@ -51,7 +53,7 @@ public class ListConnectionResponse extends BaseResponse {
     }
 
     public ListConnectionResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
index faccf29..22d7024 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionRequest.java
@@ -19,23 +19,29 @@ package 
org.apache.rocketmq.eventbridge.adapter.api.dto.connection;
 
 import com.google.gson.annotations.SerializedName;
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseRequest;
 import 
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.AuthParameters;
 import 
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.NetworkParameters;
+import org.hibernate.validator.constraints.Length;
 
 @Setter
 @Getter
 @ToString
 public class UpdateConnectionRequest extends BaseRequest {
 
+    @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 = 1, max = 127, message = "The connection name length cannot 
exceed 127.")
     @NotBlank(message = "ConnectionName is blank")
     @SerializedName("ConnectionName")
     private String connectionName;
 
     @SerializedName("Description")
+    @Length(max = 255, message = "The connection description length cannot 
exceed 255.")
     private String description;
 
     @SerializedName("NetworkParameters")
diff --git 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionResponse.java
 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionResponse.java
index 99707e1..bc52709 100644
--- 
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionResponse.java
+++ 
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/UpdateConnectionResponse.java
@@ -24,6 +24,8 @@ import lombok.ToString;
 import org.apache.rocketmq.eventbridge.adapter.api.dto.BaseResponse;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 
+import static 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode.RequestParameterInvalid;
+
 @AllArgsConstructor
 @Getter
 @Setter
@@ -37,7 +39,7 @@ public class UpdateConnectionResponse extends BaseResponse {
     }
 
     public UpdateConnectionResponse parameterCheckFailRes(String errorMsg) {
-        setCode(Integer.toString(409));
+        setCode(RequestParameterInvalid.getCode());
         setMessage(errorMsg);
         return this;
     }
diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/EventBridgeConstants.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/EventBridgeConstants.java
index 14fa1a8..08df563 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/EventBridgeConstants.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/EventBridgeConstants.java
@@ -53,4 +53,12 @@ public class EventBridgeConstants {
 
     public static final String SYSTEM_ENVIRONMENT_ACCOUNT_ID = "AccountId";
 
+    public static final int EVENT_ENDPOINT_MAX_LENGTH = 127;
+
+    public static final int EVENT_ENDPOINT_MIN_LENGTH = 1;
+
+    public static final int MIN_LENGTH_CONSTANT = 1;
+
+    public static final int MAX_LENGTH_CONSTANT = 127;
+
 }
diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
index 73759c1..52f5c62 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
@@ -98,6 +98,17 @@ public enum EventBridgeErrorCode implements BaseErrorCode {
     LimitSizeInvalid(409, "LimitSizeInvalid", "The limit size of page is 
invalid, which must greater than 0 and less than [{0}]."),
     NextTokenInvalid(409, "NextTokenInvalid", "The next token of page is 
invalid. which should be {[0]}."),
     OauthHttpParametersEmpty(409, "OauthHttpParametersEmpty", 
"OauthHttpParameters is Empty."),
+    BasicRequiredParameterIsEmpty(409, "BasicRequiredParameterIsEmpty", "Basic 
required parameters are empty, the required parameters are username and 
password !"),
+
+    BasicUserNameLengthExceed(409, "BasicUserNameLengthExceed", "Basic 
username length cannot exceed 127 !"),
+
+    BasicPassWordLengthExceed(409, "BasicPassWordLengthExceed", "Basic 
password length cannot exceed 127 !"),
+
+    ApiKeyNameLengthExceed(409, "ApiKeyNameLengthExceed", "Api key name length 
cannot exceed 127 !"),
+
+    ApiKeyValueLengthExceed(409, "ApiKeyValueLengthExceed", "Api key value 
length cannot exceed 127 !"),
+    ApiKeyRequiredParameterIsEmpty(409, "ApiKeyRequiredParameterIsEmpty", "Api 
Key required parameters are empty, the required parameters are apiKeyName and 
apiKeyValue !"),
+    OAuthRequiredParameterIsEmpty(409, "OAuthRequiredParameterIsEmpty", "OAuth 
required parameters are empty, the required parameters are 
authorizationEndpoint and httpMethod !"),
 
     //API Destination
     ApiDestinationNameInvalid(409, "ApiDestinationNameInvalid", "The 
api-destination name [{0}] is invalid! Which should match the pattern [{1}]."),
@@ -109,7 +120,20 @@ public enum EventBridgeErrorCode implements BaseErrorCode {
     // SecretManagerAPI
     SecretManagerAPICreateSecretNameFailed(409, 
"SecretManagerAPICreateSecretNameFailed", "Create secret manager api secret 
name [{0}] failed"),
     SecretManagerAPIDeleteSecretFailed(409, 
"SecretManagerAPIDeleteSecretFailed", "Delete secret manager api secret [{0}] 
failed"),
-    SecretManagerAPIGetSecretValueFailed(409, 
"SecretManagerAPIGetSecretValueFailed", "Get secret manager api secret value 
[{0}] failed");
+    SecretManagerAPIGetSecretValueFailed(409, 
"SecretManagerAPIGetSecretValueFailed", "Get secret manager api secret value 
[{0}] failed"),
+
+    HttpApiParametersIsNull(409, "HttpApiParametersIsNull", "HttpApiParameters 
is null !"),
+    EndpointIsBlank(409, "EndpointIsBlank", "Endpoint is blank !"),
+    MethodIsBlank(409, "Method", "Method is blank !"),
+    NetworkParametersIsNull(409, "NetworkParametersIsNull", "NetworkParameters 
is null !"),
+    NetworkTypeIsBlank(409, "NetworkTypeIsBlank", "NetworkType is blank !"),
+    EndpointLengthExceed(409, "EndpointLengthExceed", "Endpoint length cannot 
exceed 127 !"),
+
+    ClientIDLengthExceed(409, "ClientIDLengthExceed", "ClientID length cannot 
exceed 127 !"),
+
+    ClientSecretLengthExceed(409, "ClientSecretLengthExceed", "ClientSecret 
length cannot exceed 127 !"),
+    AuthorizationEndpointLengthExceed(409, 
"AuthorizationEndpointLengthExceed", "Authorization endpoint length cannot 
exceed 127 !"),
+    RequestParameterInvalid(409, "RequestParameterInvalid", "Request parameter 
Invalid !");
 
     private final int httpCode;
     private final String code;
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 8f989a1..874546f 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
@@ -18,10 +18,12 @@
 package org.apache.rocketmq.eventbridge.domain.model.apidestination;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.eventbridge.domain.common.EventBridgeConstants;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 import org.apache.rocketmq.eventbridge.domain.model.AbstractResourceService;
 import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
+import 
org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
 import 
org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
 import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
 import org.springframework.stereotype.Service;
@@ -49,6 +51,7 @@ public class ApiDestinationService extends 
AbstractResourceService {
         }
         
super.checkQuota(this.getApiDestinationCount(eventApiDestinationDTO.getAccountId()),
 EventBridgeConstants.API_DESTINATION_COUNT_LIMIT,
                 ApiDestinationCountExceedLimit);
+        checkHttpApiParameters(eventApiDestinationDTO.getApiParams());
         final Boolean apiDestination = 
apiDestinationRepository.createApiDestination(eventApiDestinationDTO);
         if (apiDestination) {
             return eventApiDestinationDTO.getName();
@@ -56,11 +59,28 @@ public class ApiDestinationService extends 
AbstractResourceService {
         return null;
     }
 
+    private void checkHttpApiParameters(HttpApiParameters httpApiParameters) {
+        if (httpApiParameters == null) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.HttpApiParametersIsNull);
+        }
+        if (StringUtils.isBlank(httpApiParameters.getEndpoint())) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.EndpointIsBlank);
+        }
+        if (StringUtils.isBlank(httpApiParameters.getMethod())) {
+            throw new EventBridgeException(EventBridgeErrorCode.MethodIsBlank);
+        }
+        int len = httpApiParameters.getEndpoint().length();
+        if (len > EventBridgeConstants.EVENT_ENDPOINT_MAX_LENGTH || len < 
EventBridgeConstants.EVENT_ENDPOINT_MIN_LENGTH) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.EndpointLengthExceed);
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class, propagation = 
Propagation.REQUIRED)
     public Boolean updateApiDestination(ApiDestinationDTO apiDestinationDTO) {
         if (checkApiDestination(apiDestinationDTO.getAccountId(), 
apiDestinationDTO.getName()) == null) {
             throw new 
EventBridgeException(EventBridgeErrorCode.ApiDestinationNotExist, 
apiDestinationDTO.getName());
         }
+        checkHttpApiParameters(apiDestinationDTO.getApiParams());
         return 
apiDestinationRepository.updateApiDestination(apiDestinationDTO);
     }
 
@@ -84,7 +104,7 @@ public class ApiDestinationService extends 
AbstractResourceService {
     }
 
     public PaginationResult<List<ApiDestinationDTO>> 
listApiDestinations(String accountId, String apiDestinationName, String 
nextToken,
-                                                                         int 
maxResults) {
+                                                                         
Integer maxResults) {
         final List<ApiDestinationDTO> apiDestinationDTOS = 
apiDestinationRepository.listApiDestinations(accountId, apiDestinationName, 
nextToken, maxResults);
         PaginationResult<List<ApiDestinationDTO>> result = new 
PaginationResult();
         result.setData(apiDestinationDTOS);
diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/parameter/HttpApiParameters.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/parameter/HttpApiParameters.java
index 221aa4a..2f907fd 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/parameter/HttpApiParameters.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/parameter/HttpApiParameters.java
@@ -19,7 +19,6 @@ package 
org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter;
 
 import com.google.gson.annotations.SerializedName;
 import java.util.List;
-import javax.validation.constraints.NotBlank;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -29,11 +28,9 @@ import lombok.ToString;
 @ToString
 public class HttpApiParameters {
 
-    @NotBlank(message = "Endpoint is blank")
     @SerializedName("Endpoint")
     private String endpoint;
 
-    @NotBlank(message = "Method is blank")
     @SerializedName("Method")
     private String method;
 
diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
index fc3617d..a773d7e 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
@@ -22,6 +22,7 @@ import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.eventbridge.domain.common.EventBridgeConstants;
+import 
org.apache.rocketmq.eventbridge.domain.common.enums.AuthorizationTypeEnum;
 import org.apache.rocketmq.eventbridge.domain.common.enums.NetworkTypeEnum;
 import 
org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 import org.apache.rocketmq.eventbridge.domain.model.AbstractResourceService;
@@ -69,8 +70,9 @@ public class ConnectionService extends 
AbstractResourceService {
             throw new 
EventBridgeException(EventBridgeErrorCode.ConnectionAlreadyExist, 
connectionDTO.getConnectionName());
         }
         
super.checkQuota(this.getConnectionCount(connectionDTO.getAccountId()), 
EventBridgeConstants.CONNECTION_COUNT_LIMIT, ConnectionCountExceedLimit);
-        
checkNetworkType(connectionDTO.getNetworkParameters().getNetworkType());
+        checkNetworkType(connectionDTO.getNetworkParameters());
         if (connectionDTO.getAuthParameters() != null) {
+            checkAuthParameters(connectionDTO.getAuthParameters());
             
connectionDTO.setAuthParameters(setSecretData(connectionDTO.getAuthParameters(),
 connectionDTO.getAccountId(), connectionDTO.getConnectionName()));
         }
         if (connectionRepository.createConnection(connectionDTO)) {
@@ -86,6 +88,61 @@ public class ConnectionService extends 
AbstractResourceService {
         return null;
     }
 
+    private void checkAuthParameters(AuthParameters authParameters) {
+        if (authParameters != null) {
+            BasicAuthParameters basicAuthParameters = 
authParameters.getBasicAuthParameters();
+            if (basicAuthParameters != null && 
AuthorizationTypeEnum.BASIC_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
+                if (StringUtils.isBlank(basicAuthParameters.getUsername()) || 
StringUtils.isBlank(basicAuthParameters.getPassword())) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.BasicRequiredParameterIsEmpty);
+                }
+                String username = basicAuthParameters.getUsername();
+                String password = basicAuthParameters.getPassword();
+                if (username.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || username.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.BasicUserNameLengthExceed);
+                }
+                if (password.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || password.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.BasicPassWordLengthExceed);
+                }
+            }
+            ApiKeyAuthParameters apiKeyAuthParameters = 
authParameters.getApiKeyAuthParameters();
+            if (apiKeyAuthParameters != null && 
AuthorizationTypeEnum.API_KEY_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
+                if (StringUtils.isBlank(apiKeyAuthParameters.getApiKeyName()) 
|| StringUtils.isBlank(apiKeyAuthParameters.getApiKeyValue())) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyRequiredParameterIsEmpty);
+                }
+                String apiKeyName = apiKeyAuthParameters.getApiKeyName();
+                String apiKeyValue = apiKeyAuthParameters.getApiKeyValue();
+                if (apiKeyName.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || apiKeyName.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyNameLengthExceed);
+                }
+                if (apiKeyValue.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || apiKeyValue.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyValueLengthExceed);
+                }
+            }
+            OAuthParameters oauthParameters = 
authParameters.getOauthParameters();
+            if (oauthParameters != null && 
AuthorizationTypeEnum.OAUTH_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
+                if 
(StringUtils.isBlank(oauthParameters.getAuthorizationEndpoint()) || 
StringUtils.isBlank(oauthParameters.getHttpMethod())) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.OAuthRequiredParameterIsEmpty);
+                }
+                if (oauthParameters.getAuthorizationEndpoint().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || 
oauthParameters.getAuthorizationEndpoint().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.AuthorizationEndpointLengthExceed);
+                }
+                if (oauthParameters.getClientParameters() != null) {
+                    OAuthParameters.ClientParameters clientParameters = 
oauthParameters.getClientParameters();
+                    if (StringUtils.isNotBlank(clientParameters.getClientID())
+                            && (clientParameters.getClientID().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT
+                            || clientParameters.getClientID().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
+                        throw new 
EventBridgeException(EventBridgeErrorCode.ClientIDLengthExceed);
+                    }
+                    if 
(StringUtils.isNotBlank(clientParameters.getClientSecret())
+                            && (clientParameters.getClientSecret().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT
+                            || clientParameters.getClientSecret().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
+                        throw new 
EventBridgeException(EventBridgeErrorCode.ClientSecretLengthExceed);
+                    }
+                }
+            }
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class, propagation = 
Propagation.REQUIRED)
     public void deleteConnection(String accountId, String connectionName) {
         if (CollectionUtils.isEmpty(checkConnection(accountId, 
connectionName))) {
@@ -110,8 +167,9 @@ public class ConnectionService extends 
AbstractResourceService {
         if (CollectionUtils.isEmpty(checkConnection(accountId, 
connectionDTO.getConnectionName()))) {
             throw new 
EventBridgeException(EventBridgeErrorCode.ConnectionNotExist, 
connectionDTO.getConnectionName());
         }
-        
checkNetworkType(connectionDTO.getNetworkParameters().getNetworkType());
+        checkNetworkType(connectionDTO.getNetworkParameters());
         if (connectionDTO.getAuthParameters() != null) {
+            checkAuthParameters(connectionDTO.getAuthParameters());
             
connectionDTO.setAuthParameters(updateSecretData(connectionDTO.getAuthParameters(),
 accountId, connectionDTO.getConnectionName(), 
connectionDTO.getConnectionName()));
         }
         List<ConnectionDTO> connection = 
getConnection(connectionDTO.getAccountId(), connectionDTO.getConnectionName());
@@ -140,7 +198,7 @@ public class ConnectionService extends 
AbstractResourceService {
         return connectionRepository.getConnection(accountId, connectionName);
     }
 
-    public PaginationResult<List<ConnectionDTO>> listConnections(String 
accountId, String connectionName, String nextToken, int maxResults) {
+    public PaginationResult<List<ConnectionDTO>> listConnections(String 
accountId, String connectionName, String nextToken, Integer maxResults) {
         List<ConnectionDTO> connectionDTOS = 
connectionRepository.listConnections(accountId, connectionName, nextToken, 
maxResults);
         PaginationResult<List<ConnectionDTO>> result = new PaginationResult();
         result.setData(connectionDTOS);
@@ -178,8 +236,10 @@ public class ConnectionService extends 
AbstractResourceService {
 
     private void saveClientByKms(String accountId, String connectionName, 
OAuthParameters oauthParameters) {
         OAuthParameters.ClientParameters clientParameters = 
oauthParameters.getClientParameters();
-        
clientParameters.setClientSecret(secretManagerAPI.createSecretName(accountId, 
connectionName, new Gson().toJson(clientParameters)));
-        oauthParameters.setClientParameters(clientParameters);
+        if (clientParameters != null) {
+            
clientParameters.setClientSecret(secretManagerAPI.createSecretName(accountId, 
connectionName, new Gson().toJson(clientParameters)));
+            oauthParameters.setClientParameters(clientParameters);
+        }
     }
 
     private AuthParameters updateSecretData(AuthParameters authParameters, 
String accountId, String connectionName, String name) {
@@ -222,12 +282,17 @@ public class ConnectionService extends 
AbstractResourceService {
 
     private void updateClientByKms(String accountId, String connectionName, 
OAuthParameters oauthParameters, ConnectionDTO connection) {
         OAuthParameters.ClientParameters clientParameters = 
oauthParameters.getClientParameters();
+        if (clientParameters == null) {
+            return;
+        }
         String clientSecretSecretValue = null;
-        if (connection.getAuthParameters() != null && 
connection.getAuthParameters().getOauthParameters() != null) {
+        if (connection.getAuthParameters() != null
+                && connection.getAuthParameters().getOauthParameters() != null
+                && 
connection.getAuthParameters().getOauthParameters().getClientParameters() != 
null) {
             OAuthParameters.ClientParameters oldClientParameters = 
connection.getAuthParameters().getOauthParameters().getClientParameters();
             clientSecretSecretValue = 
secretManagerAPI.updateSecretValue(oldClientParameters.getClientSecret(),
-                accountId, connectionName, 
connection.getAuthParameters().getOauthParameters().getClientParameters().getClientID(),
-                
connection.getAuthParameters().getOauthParameters().getClientParameters().getClientSecret());
+                    accountId, connectionName, 
connection.getAuthParameters().getOauthParameters().getClientParameters().getClientID(),
+                    
connection.getAuthParameters().getOauthParameters().getClientParameters().getClientSecret());
         } else {
             clientSecretSecretValue = 
secretManagerAPI.createSecretName(accountId, connectionName, new 
Gson().toJson(clientParameters));
         }
@@ -235,9 +300,13 @@ public class ConnectionService extends 
AbstractResourceService {
         oauthParameters.setClientParameters(clientParameters);
     }
 
-    private void checkNetworkType(String type) {
+    private void checkNetworkType(NetworkParameters networkParameters) {
+        if (networkParameters == null) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.NetworkParametersIsNull);
+        }
+        String type = networkParameters.getNetworkType();
         if (StringUtils.isBlank(type)) {
-            return;
+            throw new 
EventBridgeException(EventBridgeErrorCode.NetworkTypeIsBlank);
         }
         boolean check = true;
         for (NetworkTypeEnum networkTypeEnum : NetworkTypeEnum.values()) {
diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
index ed7ca0d..a761b56 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
@@ -18,7 +18,6 @@
 package org.apache.rocketmq.eventbridge.domain.model.connection.parameter;
 
 import com.google.gson.annotations.SerializedName;
-import javax.validation.constraints.NotBlank;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -28,7 +27,6 @@ import lombok.ToString;
 @ToString
 public class NetworkParameters {
 
-    @NotBlank(message = "NetworkType is blank")
     @SerializedName("NetworkType")
     private String networkType;
 

Reply via email to