You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2023/01/05 08:02:09 UTC

[inlong] 04/07: [INLONG-7144][Manager] Add interface field limit (#7147)

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

dockerzhang pushed a commit to branch branch-1.5
in repository https://gitbox.apache.org/repos/asf/inlong.git

commit 903183c6efa578698aca5441b41c79816aaaba0d
Author: Goson Zhang <46...@qq.com>
AuthorDate: Thu Jan 5 11:03:59 2023 +0800

    [INLONG-7144][Manager] Add interface field limit (#7147)
---
 .../inlong/manager/pojo/cluster/BindTagRequest.java      |  6 ++++++
 .../inlong/manager/pojo/cluster/ClusterNodeRequest.java  |  7 +++++++
 .../inlong/manager/pojo/cluster/ClusterRequest.java      | 13 +++++++++++++
 .../inlong/manager/pojo/cluster/ClusterTagRequest.java   |  7 +++++++
 .../inlong/manager/pojo/group/InlongGroupExtInfo.java    |  8 ++++++++
 .../inlong/manager/pojo/group/InlongGroupRequest.java    | 12 +++++++++++-
 .../manager/pojo/group/InlongGroupResetRequest.java      |  5 ++---
 .../apache/inlong/manager/pojo/node/DataNodeRequest.java | 11 +++++++++++
 .../org/apache/inlong/manager/pojo/sink/SinkRequest.java | 16 +++++++++++++++-
 .../apache/inlong/manager/pojo/source/SourceRequest.java | 14 ++++++++++++++
 .../inlong/manager/pojo/stream/InlongStreamRequest.java  | 14 +++++++++++++-
 .../inlong/manager/pojo/transform/TransformRequest.java  |  8 ++++++++
 .../org/apache/inlong/manager/pojo/user/UserRequest.java | 10 ++++++++++
 13 files changed, 125 insertions(+), 6 deletions(-)

diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java
index 30d3a1d4f..d701e4d6e 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java
@@ -17,11 +17,15 @@
 
 package org.apache.inlong.manager.pojo.cluster;
 
+import org.hibernate.validator.constraints.Length;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
 import java.util.List;
 
 /**
@@ -33,6 +37,8 @@ public class BindTagRequest {
 
     @NotBlank(message = "clusterTag cannot be blank")
     @ApiModelProperty(value = "Cluster tag")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String clusterTag;
 
     @ApiModelProperty(value = "Cluster-ID list which needs to bind tag")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java
index 25821a393..5e789100b 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java
@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -42,27 +43,33 @@ public class ClusterNodeRequest {
 
     @NotBlank(message = "type cannot be blank")
     @ApiModelProperty(value = "Cluster type, including AGENT, DATAPROXY, etc.")
+    @Length(min = 1, max = 20, message = "length must be between 1 and 20")
     private String type;
 
     @NotBlank(message = "ip cannot be blank")
     @ApiModelProperty(value = "Cluster IP")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String ip;
 
     @NotNull(message = "port cannot be null")
     @ApiModelProperty(value = "Cluster port")
+    @Length(max = 6, message = "length must be less than or equal to 6")
     private Integer port;
 
     @NotBlank(message = "protocolType cannot be blank")
     @ApiModelProperty(value = "Cluster protocol type")
+    @Length(max = 20, message = "length must be less than or equal to 20")
     private String protocolType;
 
     @ApiModelProperty(value = "Current load value of the node")
     private Integer nodeLoad;
 
     @ApiModelProperty(value = "Extended params")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String extParams;
 
     @ApiModelProperty(value = "Description of the cluster node")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
     @ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
index 90f07a315..ccb411af5 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
@@ -24,9 +24,11 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
 
 /**
  * Inlong cluster request
@@ -44,35 +46,46 @@ public abstract class ClusterRequest {
 
     @NotBlank(message = "cluster name cannot be blank")
     @ApiModelProperty(value = "Cluster name")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String name;
 
     @NotBlank(message = "cluster type cannot be blank")
     @ApiModelProperty(value = "Cluster type, including TUBEMQ, PULSAR, KAFKA, DATAPROXY, etc.")
+    @Length(min = 1, max = 20, message = "length must be between 1 and 20")
     private String type;
 
     @ApiModelProperty(value = "Cluster url")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String url;
 
     @NotBlank(message = "clusterTags cannot be blank")
     @ApiModelProperty(value = "Cluster tags, separated by commas")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String clusterTags;
 
     @ApiModelProperty(value = "Extension tag")
+    @Length(max = 128, message = "length must be less than or equal to 128")
     private String extTag = "default=true";
 
     @ApiModelProperty(value = "Cluster token")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String token;
 
     @ApiModelProperty(value = "Cluster heartbeat info")
+    @Length(max = 163840, message = "length must be less than or equal to 163840")
     private String heartbeat;
 
     @ApiModelProperty(value = "Extended params")
+    @Length(max = 163840, message = "length must be less than or equal to 163840")
     private String extParams;
 
     @ApiModelProperty(value = "Description of the cluster")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
     @ApiModelProperty(value = "Name of responsible person, separated by commas")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String inCharges;
 
     @ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
index 289b89e2e..69d8c5540 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
@@ -21,9 +21,11 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
 
 /**
  * Inlong cluster tag request
@@ -38,15 +40,20 @@ public class ClusterTagRequest {
 
     @NotBlank(message = "clusterTag cannot be blank")
     @ApiModelProperty(value = "Cluster tag")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String clusterTag;
 
     @ApiModelProperty(value = "Extended params")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String extParams;
 
     @ApiModelProperty(value = "Description of the cluster tag")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
     @ApiModelProperty(value = "Name of in charges, separated by commas")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String inCharges;
 
     @ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java
index e539e868f..f1baef4f0 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java
@@ -17,6 +17,10 @@
 
 package org.apache.inlong.manager.pojo.group;
 
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.Pattern;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -38,12 +42,16 @@ public class InlongGroupExtInfo {
     private Integer id;
 
     @ApiModelProperty(value = "inlong group id", required = true)
+    @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "property name")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String keyName;
 
     @ApiModelProperty(value = "property value")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String keyValue;
 
 }
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java
index dfa95d31a..9b68c572d 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java
@@ -50,9 +50,11 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Inlong group name", required = true)
+    @Length(max = 128, message = "length must be less than or equal to 128")
     private String name;
 
     @ApiModelProperty(value = "Inlong group description")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
     @Deprecated
@@ -61,25 +63,30 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
 
     @NotBlank(message = "cannot be blank")
     @ApiModelProperty(value = "MQ type, high throughput: TUBEMQ, high consistency: PULSAR")
+    @Length(min = 1, max = 20, message = "length must be between 1 and 20")
     private String mqType;
 
     @ApiModelProperty(value = "MQ resource", notes = "in inlong group, TubeMQ corresponds to Topic, Pulsar corresponds to Namespace")
+    @Length(max = 64, message = "length must be less than or equal to 64")
     private String mqResource;
 
     @ApiModelProperty(value = "TubeMQ master URL")
     private String tubeMaster;
 
     @ApiModelProperty(value = "Whether to enable zookeeper? 0: disable, 1: enable")
+    @Range(min = 0, max = 1, message = "default is 0, only supports [0: disable, 1: enable]")
     private Integer enableZookeeper = 0;
 
     @ApiModelProperty(value = "Whether to enable create resource? 0: disable, 1: enable")
+    @Range(min = 0, max = 1, message = "default is 1, only supports [0: disable, 1: enable]")
     private Integer enableCreateResource = 1;
 
     @ApiModelProperty(value = "Whether to use lightweight mode, 0: no, 1: yes")
+    @Range(min = 0, max = 1, message = "default is 0, only supports [0: no, 1: yes]")
     private Integer lightweight = 0;
 
     @NotNull(message = "cannot be null")
-    @Range(min = 0, max = 2, message = "only supports 0, 1, 2")
+    @Range(min = 0, max = 2, message = "default is 0, only supports [0, 1, 2]")
     @ApiModelProperty(value = "Data report type, default is 0.\n"
             + " 0: report to DataProxy and respond when the DataProxy received data.\n"
             + " 1: report to DataProxy and respond after DataProxy sends data.\n"
@@ -87,6 +94,7 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
     private Integer dataReportType = 0;
 
     @ApiModelProperty(value = "Inlong cluster tag, which links to inlong_cluster table")
+    @Length(max = 128, message = "Length must be less than or equal to 128")
     private String inlongClusterTag;
 
     @ApiModelProperty(value = "Number of access items per day, unit: 10,000 items per day")
@@ -103,9 +111,11 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
 
     @NotBlank(message = "cannot be blank")
     @ApiModelProperty(value = "Name of responsible person, separated by commas")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String inCharges;
 
     @ApiModelProperty(value = "Name of followers, separated by commas")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String followers;
 
     @ApiModelProperty(value = "Inlong group Extension properties")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java
index c6cefb120..5a577d6a4 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java
@@ -38,9 +38,8 @@ import javax.validation.constraints.Pattern;
 public class InlongGroupResetRequest {
 
     @ApiModelProperty(value = "Inlong group id", required = true)
-    @Length(min = 4, max = 200)
-    @Pattern(regexp = "^(?![0-9]+$)[a-z][a-z0-9_-]{1,200}$", message = "inlongGroupId must starts with a lowercase letter "
-            + "and contains only lowercase letters, digits, `-` or `_`")
+    @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "If rerun process when group is in operating, 0: false 1: true")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java
index 4f520bf21..d4c3d89cb 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java
@@ -24,9 +24,11 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
 
 /**
  * Data node request
@@ -44,29 +46,38 @@ public abstract class DataNodeRequest {
 
     @NotBlank(message = "node name cannot be blank")
     @ApiModelProperty(value = "Data node name")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[A-Za-z0-9_-]{1,128}$", message = "only supports letters, numbers, '-', or '_'")
     private String name;
 
     @NotBlank(message = "node type cannot be blank")
     @ApiModelProperty(value = "Data node type, including MYSQL, HIVE, KAFKA, ES, etc.")
+    @Length(max = 20, message = "length must be less than or equal to 20")
     private String type;
 
     @ApiModelProperty(value = "Data node URL")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String url;
 
     @ApiModelProperty(value = "Data node username")
+    @Length(max = 128, message = "length must be less than or equal to 128")
     private String username;
 
     @ApiModelProperty(value = "Data node token if needed")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String token;
 
     @ApiModelProperty(value = "Extended params")
+    @Length(min = 1, max = 16384, message = "length must be between 1 and 16384")
     private String extParams;
 
     @ApiModelProperty(value = "Description of the data node")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
     @NotBlank(message = "inCharges cannot be blank")
     @ApiModelProperty(value = "Name of responsible person, separated by commas", required = true)
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String inCharges;
 
     @ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java
index a6089adcd..d8ca5f02d 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java
@@ -24,6 +24,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.apache.inlong.manager.common.validation.UpdateValidation;
 import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -45,38 +46,51 @@ public abstract class SinkRequest {
 
     @NotBlank(message = "inlongGroupId cannot be blank")
     @ApiModelProperty("Inlong group id")
+    @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongGroupId;
 
     @NotBlank(message = "inlongStreamId cannot be blank")
     @ApiModelProperty("Inlong stream id")
+    @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
     private String inlongStreamId;
 
     @NotBlank(message = "sinkType cannot be blank")
     @ApiModelProperty("Sink type, including: HIVE, ES, etc.")
+    @Length(max = 15, message = "length must be less than or equal to 15")
     private String sinkType;
 
     @NotBlank(message = "sinkName cannot be blank")
+    @ApiModelProperty("Sink name, unique in one stream")
     @Length(min = 1, max = 100, message = "sinkName length must be between 1 and 100")
     @Pattern(regexp = "^[a-z0-9_-]{1,100}$", message = "sinkName only supports lowercase letters, numbers, '-', or '_'")
-    @ApiModelProperty("Sink name, unique in one stream")
     private String sinkName;
 
     @ApiModelProperty("Sink description")
+    @Length(max = 500, message = "length must be less than or equal to 500")
     private String description;
 
     @ApiModelProperty("Inlong cluster name")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongClusterName;
 
     @ApiModelProperty("Data node name")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[A-Za-z0-9_-]{1,128}$", message = "only supports letters, numbers, '-', or '_'")
     private String dataNodeName;
 
     @ApiModelProperty("Sort task name")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String sortTaskName;
 
     @ApiModelProperty("Sort consumer group")
+    @Length(max = 512, message = "length must be less than or equal to 512")
     private String sortConsumerGroup;
 
     @ApiModelProperty(value = "Whether to enable create sink resource? 0: disable, 1: enable. Default is 1")
+    @Range(min = 0, max = 1, message = "default is 1, only supports [0: disable, 1: enable]")
     private Integer enableCreateResource = 1;
 
     @ApiModelProperty(value = "Whether to start the process after saving or updating. Default is false")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java
index 7e3db4e63..099ab45e7 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java
@@ -47,14 +47,19 @@ public class SourceRequest {
 
     @NotBlank(message = "inlongGroupId cannot be blank")
     @ApiModelProperty("Inlong group id")
+    @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongGroupId;
 
     @NotBlank(message = "inlongStreamId cannot be blank")
     @ApiModelProperty("Inlong stream id")
+    @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
     private String inlongStreamId;
 
     @NotBlank(message = "sourceType cannot be blank")
     @ApiModelProperty("Source type, including: FILE, KAFKA, etc.")
+    @Length(min = 1, max = 20, message = "length must be between 1 and 20")
     private String sourceType;
 
     @NotBlank(message = "sourceName cannot be blank")
@@ -64,24 +69,33 @@ public class SourceRequest {
     private String sourceName;
 
     @ApiModelProperty("Ip of the agent running the task")
+    @Length(max = 40, message = "length must be less than or equal to 40")
     private String agentIp;
 
     @ApiModelProperty("Mac uuid of the agent running the task")
+    @Length(max = 30, message = "length must be less than or equal to 30")
     private String uuid;
 
     @ApiModelProperty("Inlong cluster name")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongClusterName;
 
     @ApiModelProperty("Inlong cluster node tag")
+    @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+    @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongClusterNodeTag;
 
     @ApiModelProperty("Data node name")
+    @Length(max = 128, message = "length must be less than or equal to 128")
     private String dataNodeName;
 
     @ApiModelProperty("Serialization type, support: csv, json, canal, avro, etc")
+    @Length(max = 20, message = "length must be less than or equal to 20")
     private String serializationType;
 
     @ApiModelProperty("Snapshot of the source task")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String snapshot;
 
     @ApiModelProperty("Version")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java
index b8061daff..277e035f8 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java
@@ -22,6 +22,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Pattern;
@@ -41,37 +42,47 @@ public class InlongStreamRequest extends BaseInlongStream {
 
     @NotBlank(message = "inlongGroupId cannot be blank")
     @ApiModelProperty(value = "Inlong group id")
+    @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongGroupId;
 
     @NotBlank(message = "inlongStreamId cannot be blank")
+    @ApiModelProperty(value = "Inlong stream id")
     @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
     @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
-    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
     @ApiModelProperty(value = "Inlong stream name", required = true)
+    @Length(max = 64, message = "length must be less than or equal to 64")
     private String name;
 
     @ApiModelProperty(value = "Inlong stream description")
+    @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
     @ApiModelProperty(value = "MQ resource")
+    @Length(max = 64, message = "length must be less than or equal to 64")
     private String mqResource;
 
     @ApiModelProperty(value = "Data type, including: TEXT, KV, etc.")
+    @Length(max = 20, message = "length must be less than or equal to 20")
     private String dataType;
 
     @ApiModelProperty(value = "Data encoding format: UTF-8, GBK")
+    @Length(max = 8, message = "length must be less than or equal to 8")
     private String dataEncoding = StandardCharsets.UTF_8.toString();
 
     @ApiModelProperty(value = "Data separator")
+    @Length(max = 8, message = "length must be less than or equal to 8")
     private String dataSeparator = String.valueOf((int) '|');
 
     @ApiModelProperty(value = "Data field escape symbol")
+    @Length(max = 8, message = "length must be less than or equal to 8")
     private String dataEscapeChar;
 
     @ApiModelProperty(value = "Whether to send synchronously, 0: no, 1: yes", notes = "Each task under this stream sends data synchronously, "
             + "which will affect the throughput of data collection, please choose carefully")
+    @Range(min = 0, max = 1, message = "default is 0, only supports [0: no, 1: yes]")
     private Integer syncSend = 0;
 
     @ApiModelProperty(value = "Number of access items per day, unit: 10,000 items per day")
@@ -90,6 +101,7 @@ public class InlongStreamRequest extends BaseInlongStream {
     private Integer storagePeriod;
 
     @ApiModelProperty(value = "Extended params, will be saved as JSON string")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String extParams;
 
     @ApiModelProperty(value = "Field list")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java
index 7a8a24e53..5895d5d44 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java
@@ -42,10 +42,14 @@ public class TransformRequest {
 
     @NotBlank(message = "inlongGroupId cannot be blank")
     @ApiModelProperty("Inlong group id")
+    @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
     private String inlongGroupId;
 
     @NotBlank(message = "inlongStreamId cannot be blank")
     @ApiModelProperty("Inlong stream id")
+    @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
+    @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
     private String inlongStreamId;
 
     @NotBlank(message = "transformName cannot be blank")
@@ -56,18 +60,22 @@ public class TransformRequest {
 
     @NotBlank(message = "transformType cannot be blank")
     @ApiModelProperty("Transform type, including: splitter, filter, joiner, etc.")
+    @Length(max = 15, message = "length must be less than or equal to 15")
     private String transformType;
 
     @NotBlank(message = "preNodeNames cannot be blank")
     @ApiModelProperty("Pre node names of transform in this stream, join by ','")
+    @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400")
     private String preNodeNames;
 
     @NotBlank(message = "postNodeNames cannot be blank")
     @ApiModelProperty("Post node names of transform in this stream, join by ','")
+    @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400")
     private String postNodeNames;
 
     @NotBlank(message = "transformDefinition cannot be blank")
     @ApiModelProperty("Transform definition in json type")
+    @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400")
     private String transformDefinition;
 
     @ApiModelProperty("Version of transform")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java
index 15bbae2d0..b84018bec 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java
@@ -27,6 +27,8 @@ import lombok.NoArgsConstructor;
 import org.apache.inlong.manager.pojo.common.PageRequest;
 import org.apache.inlong.manager.common.enums.UserTypeEnum;
 import org.apache.inlong.manager.common.validation.InEnumInt;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
 
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotBlank;
@@ -48,24 +50,30 @@ public class UserRequest extends PageRequest {
 
     @NotBlank(message = "User name cannot be blank")
     @ApiModelProperty(value = "User name", required = true)
+    @Length(min = 1, max = 256, message = "length must be between 1 and 256")
     private String name;
 
     @ApiModelProperty(value = "Keyword, can be user name")
     private String keyword;
 
     @ApiModelProperty(value = "User password")
+    @Length(min = 1, max = 64, message = "length must be between 1 and 64")
     private String password;
 
     @ApiModelProperty(value = "New password, is required if needs updated")
+    @Length(min = 1, max = 64, message = "length must be between 1 and 64")
     private String newPassword;
 
     @ApiModelProperty("Secret key")
+    @Length(min = 1, max = 256, message = "length must be between 1 and 256")
     private String secretKey;
 
     @ApiModelProperty("Public key")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String publicKey;
 
     @ApiModelProperty("Private key")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String privateKey;
 
     @ApiModelProperty("Encryption key version")
@@ -74,6 +82,7 @@ public class UserRequest extends PageRequest {
     @NotNull(message = "accountType cannot be null")
     @InEnumInt(UserTypeEnum.class)
     @ApiModelProperty(value = "Account type: 0 - manager, 1 - operator", required = true)
+    @Range(min = 0, max = 1, message = "only supports [0: manager, 1: operator]")
     private Integer accountType;
 
     @Min(1)
@@ -85,6 +94,7 @@ public class UserRequest extends PageRequest {
     private Integer version;
 
     @ApiModelProperty(value = "Extension json info")
+    @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
     private String extParams;
 
 }