You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by fe...@apache.org on 2022/07/26 07:59:13 UTC

[incubator-kyuubi] branch master updated: [KYUUBI #3139] Override toString method for rest dto classes

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

feiwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b15f2ed0 [KYUUBI #3139] Override toString method for rest dto classes
7b15f2ed0 is described below

commit 7b15f2ed0741162c98cba44385660d878c438433
Author: Fei Wang <fw...@ebay.com>
AuthorDate: Tue Jul 26 15:59:06 2022 +0800

    [KYUUBI #3139] Override toString method for rest dto classes
    
    ### _Why are the changes needed?_
    
    It is helpful if we want to log some info when using rest sdk.
    
    ### _How was this patch tested?_
    Pass existing UT.
    
    <img width="1467" alt="image" src="https://user-images.githubusercontent.com/6757692/180915779-84fab3c6-d845-4e28-879b-503b257eb33e.png">
    
    Closes #3139 from turboFei/batch_to_string.
    
    Closes #3139
    
    46e104da [Fei Wang] refactor
    036a0cb5 [Fei Wang] add to string method for dto
    
    Authored-by: Fei Wang <fw...@ebay.com>
    Signed-off-by: Fei Wang <fw...@ebay.com>
---
 .../src/main/java/org/apache/kyuubi/client/api/v1/dto/Batch.java   | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/BatchRequest.java     | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/CloseBatchResponse.java    | 7 +++++++
 .../main/java/org/apache/kyuubi/client/api/v1/dto/ColumnDesc.java  | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/ExecPoolStatistic.java     | 7 +++++++
 .../src/main/java/org/apache/kyuubi/client/api/v1/dto/Field.java   | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/GetBatchesResponse.java    | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/GetColumnsRequest.java     | 7 +++++++
 .../apache/kyuubi/client/api/v1/dto/GetCrossReferenceRequest.java  | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/GetFunctionsRequest.java   | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/GetPrimaryKeysRequest.java | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/GetSchemasRequest.java     | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/GetTablesRequest.java | 7 +++++++
 .../main/java/org/apache/kyuubi/client/api/v1/dto/InfoDetail.java  | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/OpActionRequest.java  | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/OperationLog.java     | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/ResultRowSet.java     | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/ResultSetMetaData.java     | 7 +++++++
 .../src/main/java/org/apache/kyuubi/client/api/v1/dto/Row.java     | 7 +++++++
 .../main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/SessionHandle.java    | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/SessionOpenCount.java | 7 +++++++
 .../org/apache/kyuubi/client/api/v1/dto/SessionOpenRequest.java    | 7 +++++++
 .../java/org/apache/kyuubi/client/api/v1/dto/StatementRequest.java | 7 +++++++
 .../main/java/org/apache/kyuubi/client/api/v1/dto/VersionInfo.java | 7 +++++++
 25 files changed, 175 insertions(+)

diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Batch.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Batch.java
index f4a40546e..a078c9ac9 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Batch.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Batch.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class Batch {
   private String id;
@@ -170,4 +172,9 @@ public class Batch {
   public int hashCode() {
     return Objects.hash(getId());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/BatchRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/BatchRequest.java
index c7e8add24..f10a8fdb5 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/BatchRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/BatchRequest.java
@@ -21,6 +21,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class BatchRequest {
   private String batchType;
@@ -128,4 +130,9 @@ public class BatchRequest {
     return Objects.hash(
         getBatchType(), getResource(), getClassName(), getName(), getConf(), getArgs());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/CloseBatchResponse.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/CloseBatchResponse.java
index 637b4a087..7f21c792a 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/CloseBatchResponse.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/CloseBatchResponse.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class CloseBatchResponse {
   private boolean success = false;
@@ -58,4 +60,9 @@ public class CloseBatchResponse {
   public int hashCode() {
     return Objects.hash(success, msg);
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ColumnDesc.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ColumnDesc.java
index 3ba30b22e..e8c05b319 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ColumnDesc.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ColumnDesc.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class ColumnDesc {
   private String columnName;
@@ -110,4 +112,9 @@ public class ColumnDesc {
     return Objects.hash(
         getColumnName(), getDataType(), getColumnIndex(), getPrecision(), getScale(), getComment());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ExecPoolStatistic.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ExecPoolStatistic.java
index e727a1baa..ee8a9f007 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ExecPoolStatistic.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ExecPoolStatistic.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class ExecPoolStatistic {
   private int execPoolSize;
@@ -59,4 +61,9 @@ public class ExecPoolStatistic {
   public int hashCode() {
     return Objects.hash(getExecPoolSize(), getExecPoolActiveCount());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Field.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Field.java
index 9b95a56a5..7fe33b244 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Field.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Field.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class Field {
   private String dataType;
@@ -59,4 +61,9 @@ public class Field {
   public int hashCode() {
     return Objects.hash(getDataType(), getValue());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetBatchesResponse.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetBatchesResponse.java
index 5c07354ab..6becffefb 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetBatchesResponse.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetBatchesResponse.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetBatchesResponse {
   private int from;
@@ -75,4 +77,9 @@ public class GetBatchesResponse {
   public int hashCode() {
     return Objects.hash(getFrom(), getTotal(), getBatches());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetColumnsRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetColumnsRequest.java
index f718ed8ef..3feeb468d 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetColumnsRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetColumnsRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetColumnsRequest {
   private String catalogName;
@@ -82,4 +84,9 @@ public class GetColumnsRequest {
   public int hashCode() {
     return Objects.hash(getCatalogName(), getSchemaName(), getTableName(), getColumnName());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetCrossReferenceRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetCrossReferenceRequest.java
index 374c6e0a7..4ee060a95 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetCrossReferenceRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetCrossReferenceRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetCrossReferenceRequest {
   private String primaryCatalog;
@@ -115,4 +117,9 @@ public class GetCrossReferenceRequest {
         getForeignSchema(),
         getForeignTable());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetFunctionsRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetFunctionsRequest.java
index 94ac700b2..0bb5be43c 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetFunctionsRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetFunctionsRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetFunctionsRequest {
   private String catalogName;
@@ -70,4 +72,9 @@ public class GetFunctionsRequest {
   public int hashCode() {
     return Objects.hash(getCatalogName(), getSchemaName(), getFunctionName());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetPrimaryKeysRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetPrimaryKeysRequest.java
index b43efac5e..1ea8f3db1 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetPrimaryKeysRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetPrimaryKeysRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetPrimaryKeysRequest {
   private String catalogName;
@@ -70,4 +72,9 @@ public class GetPrimaryKeysRequest {
   public int hashCode() {
     return Objects.hash(getCatalogName(), getSchemaName(), getTableName());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetSchemasRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetSchemasRequest.java
index 80833b5f8..374f74dab 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetSchemasRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetSchemasRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetSchemasRequest {
   private String catalogName;
@@ -59,4 +61,9 @@ public class GetSchemasRequest {
   public int hashCode() {
     return Objects.hash(getCatalogName(), getSchemaName());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetTablesRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetTablesRequest.java
index 5f98d12c5..eb54da1e2 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetTablesRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/GetTablesRequest.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class GetTablesRequest {
   private String catalogName;
@@ -87,4 +89,9 @@ public class GetTablesRequest {
   public int hashCode() {
     return Objects.hash(getCatalogName(), getSchemaName(), getTableName(), getTableTypes());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/InfoDetail.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/InfoDetail.java
index 520a78b9a..f2766330c 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/InfoDetail.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/InfoDetail.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class InfoDetail {
   private String infoType;
@@ -59,4 +61,9 @@ public class InfoDetail {
   public int hashCode() {
     return Objects.hash(getInfoType(), getInfoValue());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OpActionRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OpActionRequest.java
index 69c17c748..b9b732ef1 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OpActionRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OpActionRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class OpActionRequest {
   private String action;
@@ -48,4 +50,9 @@ public class OpActionRequest {
   public int hashCode() {
     return Objects.hash(getAction());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationLog.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationLog.java
index 6ef68d25f..87991bfd1 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationLog.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationLog.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class OperationLog {
   private List<String> logRowSet;
@@ -64,4 +66,9 @@ public class OperationLog {
   public int hashCode() {
     return Objects.hash(getLogRowSet(), getRowCount());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultRowSet.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultRowSet.java
index 67422fe5d..07700f80b 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultRowSet.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultRowSet.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class ResultRowSet {
   private List<Row> rows;
@@ -63,4 +65,9 @@ public class ResultRowSet {
   public int hashCode() {
     return Objects.hash(getRows(), getRowCount());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultSetMetaData.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultSetMetaData.java
index 0914b68ea..035db133a 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultSetMetaData.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/ResultSetMetaData.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class ResultSetMetaData {
   private List<ColumnDesc> columns;
@@ -53,4 +55,9 @@ public class ResultSetMetaData {
   public int hashCode() {
     return Objects.hash(getColumns());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Row.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Row.java
index 86778381b..dccd96253 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Row.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/Row.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class Row {
   private List<Field> fields;
@@ -53,4 +55,9 @@ public class Row {
   public int hashCode() {
     return Objects.hash(getFields());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
index a3dea9abc..bae6f39da 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class SessionData {
   private String identifier;
@@ -120,4 +122,9 @@ public class SessionData {
   public int hashCode() {
     return Objects.hash(getIdentifier());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionHandle.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionHandle.java
index c521f7820..e44ff0f16 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionHandle.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionHandle.java
@@ -19,6 +19,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
 import java.util.UUID;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class SessionHandle {
   private UUID identifier;
@@ -49,4 +51,9 @@ public class SessionHandle {
   public int hashCode() {
     return Objects.hash(getIdentifier());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenCount.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenCount.java
index 99310489b..5380c9a51 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenCount.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenCount.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class SessionOpenCount {
   private int openSessionCount;
@@ -48,4 +50,9 @@ public class SessionOpenCount {
   public int hashCode() {
     return Objects.hash(getOpenSessionCount());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenRequest.java
index 4a6ef1515..4c8a8dfce 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionOpenRequest.java
@@ -20,6 +20,8 @@ package org.apache.kyuubi.client.api.v1.dto;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class SessionOpenRequest {
   private int protocolVersion;
@@ -102,4 +104,9 @@ public class SessionOpenRequest {
   public int hashCode() {
     return Objects.hash(getProtocolVersion(), getUser(), getPassword(), getIpAddr(), getConfigs());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/StatementRequest.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/StatementRequest.java
index 079b8f16d..436017f3c 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/StatementRequest.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/StatementRequest.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class StatementRequest {
   private String statement;
@@ -70,4 +72,9 @@ public class StatementRequest {
   public int hashCode() {
     return Objects.hash(getStatement(), isRunAsync(), getQueryTimeout());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }
diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/VersionInfo.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/VersionInfo.java
index 7144a3e50..427272f41 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/VersionInfo.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/VersionInfo.java
@@ -18,6 +18,8 @@
 package org.apache.kyuubi.client.api.v1.dto;
 
 import java.util.Objects;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class VersionInfo {
   private String version;
@@ -48,4 +50,9 @@ public class VersionInfo {
   public int hashCode() {
     return Objects.hash(getVersion());
   }
+
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.JSON_STYLE);
+  }
 }