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

hefengen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new ef05727ae [type:feat] add apache and alibaba sdk dubbo example (#4199)
ef05727ae is described below

commit ef05727ae2d64b33c2899cb46baedc4d75b280ce
Author: mahaitao <[email protected]>
AuthorDate: Mon Nov 21 15:40:52 2022 +0800

    [type:feat] add apache and alibaba sdk dubbo example (#4199)
    
    Co-authored-by: mahaitao617 <[email protected]>
---
 .../src/main/http/sdk-alibaba-dubbo-test-api.http  | 90 ++++++++++++++++++++
 .../consumer/api/ShenyuAlibabaDubboClientApi.java  | 79 +++++++++++++++++
 .../ShenyuAlibabaDubboSdkExampleController.java    | 96 +++++++++++++++++++++
 .../dubbo/consumer/dto/DubboRequestBody.java}      | 56 +++++++++---
 .../dubbo/consumer/dto/DubboTestSaveRequest.java   | 90 ++++++++++++++++++++
 .../src/main/http/sdk-apache-dubbo-test-api.http   | 88 +++++++++++++++++++
 .../consumer/api/ShenyuApacheDubboClientApi.java   | 80 ++++++++++++++++-
 .../ShenyuApacheDubboSdkExampleController.java     | 99 +++++++++++++++++++++-
 .../DubboRequestBody.java}                         | 56 +++++++++---
 .../dubbo/consumer/dto/DubboTestSaveRequest.java   | 90 ++++++++++++++++++++
 10 files changed, 798 insertions(+), 26 deletions(-)

diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/http/sdk-alibaba-dubbo-test-api.http
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/http/sdk-alibaba-dubbo-test-api.http
index a513a0128..8cdda9e7b 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/http/sdk-alibaba-dubbo-test-api.http
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/http/sdk-alibaba-dubbo-test-api.http
@@ -21,4 +21,94 @@ GET http://localhost:8899/sdk/dubbo/findAll
 Accept: application/json
 Content-Type: application/json
 
+### shengyu alibaba dubbo /sdk/dubbo/findList
+GET http://localhost:8899/sdk/dubbo/findList
+Accept: application/json
+Content-Type: application/json
+
+### shengyu alibaba dubbo /sdk/dubbo/findById
+GET http://localhost:8899/sdk/dubbo/findById?id=1
+Accept: application/json
+Content-Type: application/json
+
+### shengyu alibaba dubbo /sdk/dubbo/findByListId
+POST http://localhost:8899/sdk/dubbo/findByListId
+Accept: application/json
+Content-Type: application/json
+{
+    "ids":["1","2"]
+}
+
+### shengyu alibaba dubbo /sdk/dubbo/insert
+POST http://localhost:8899/sdk/dubbo/insert
+Accept: application/json
+Content-Type: application/json
+{
+    "id":1L,
+    "name":"helloworld"
+}
+
+### shengyu alibaba dubbo /sdk/dubbo/findByIdsAndName
+POST http://localhost:8899/sdk/dubbo/findByIdsAndName
+Accept: application/json
+Content-Type: application/json
+{
+    "ids":["1","2"],
+    "name":"333"
+}
+
+### shengyu alibaba dubbo /sdk/dubbo/findByArrayIdsAndName
+POST http://localhost:8899/sdk/dubbo/findByArrayIdsAndName
+Accept: application/json
+Content-Type: application/json
+{
+    "ids":[1,12],
+    "name":"999"
+}
+
+### shengyu alibaba dubbo /sdk/dubbo/saveComplexBeanTest
+POST http://localhost:8899/sdk/dubbo/saveComplexBeanTest
+Accept: application/json
+Content-Type: application/json
+{
+    "dubboTest":{
+        "id": "123",
+        "name": "test1"
+    },
+    "idLists": [
+        "1",
+        "2"
+    ],
+    "idMaps": {
+  }
+}
+
+### shengyu alibaba dubbo /sdk/dubbo/batchSave
+POST http://localhost:8899/sdk/dubbo/batchSave
+Accept: application/json
+Content-Type: application/json
+{
+    "dubboTestList": [
+        {
+            "name": "22222",
+            "id": "122"
+        }
+    ]
+}
+
+### shengyu alibaba dubbo /sdk/dubbo/batchSaveAndNameAndId
+POST http://localhost:8899/sdk/dubbo/batchSaveAndNameAndId
+Accept: application/json
+Content-Type: application/json
+{
+    "dubboTestList": [
+        {
+            "name": "22222",
+            "id": "122"
+        }
+    ],
+    "id":"123344",
+    "name":"testete"
+}
+
 
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/api/ShenyuAlibabaDubboClientApi.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/api/ShenyuAlibabaDubboClientApi.java
index fad74d388..7e4f5cc25 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/api/ShenyuAlibabaDubboClientApi.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/api/ShenyuAlibabaDubboClientApi.java
@@ -17,9 +17,17 @@
 
 package org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.api;
 
+import java.util.List;
+import org.apache.shenyu.examples.dubbo.api.entity.ComplexBeanTest;
 import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
+import org.apache.shenyu.examples.dubbo.api.entity.ListResp;
+import 
org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.dto.DubboRequestBody;
+import 
org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.dto.DubboTestSaveRequest;
 import org.apache.shenyu.sdk.spring.ShenyuClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * ShenyuApacheDubboClientApi.
@@ -35,4 +43,75 @@ public interface ShenyuAlibabaDubboClientApi {
     @GetMapping("/dubbo/findAll")
     DubboTest findAll();
 
+    /**
+     * findList.
+     * @return ListResp
+     */
+    @GetMapping("/dubbo/findList")
+    ListResp findList();
+
+    /**
+     * findById.
+     * @param id id
+     * @return DubboTest
+     */
+    @GetMapping("/dubbo/findById")
+    DubboTest findById(@RequestParam("id") String id);
+
+    /**
+     * insert.
+     * @param dubboTest dubboTest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/insert")
+    DubboTest insert(@RequestBody DubboTest dubboTest);
+
+    /**
+     * findByListId.
+     * @param ids ids
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/findByListId")
+    DubboTest findByListId(@RequestBody List<String> ids);
+
+    /**
+     * findByIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/demo/findByIdsAndName")
+    DubboTest findByIdsAndName(@RequestBody DubboRequestBody dubboRequestBody);
+
+    /**
+     * findByArrayIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/demo/findByIdsAndName")
+    DubboTest findByArrayIdsAndName(@RequestBody DubboRequestBody 
dubboRequestBody);
+
+    /**
+     * saveComplexBeanTest.
+     * @param complexBeanTest complexBeanTest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/saveComplexBeanTest")
+    DubboTest saveComplexBeanTest(@RequestBody ComplexBeanTest 
complexBeanTest);
+
+    /**
+     * batchSave.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/batchSave")
+    DubboTest batchSave(@RequestBody DubboTestSaveRequest 
dubboTestSaveRequest);
+
+    /**
+     * batchSaveAndNameAndId.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/batchSaveAndNameAndId")
+    DubboTest batchSaveAndNameAndId(@RequestBody DubboTestSaveRequest 
dubboTestSaveRequest);
+
 }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/controller/ShenyuAlibabaDubboSdkExampleController.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/controller/ShenyuAlibabaDubboSdkExampleController.java
index 25bff3989..81feb6da0 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/controller/ShenyuAlibabaDubboSdkExampleController.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/controller/ShenyuAlibabaDubboSdkExampleController.java
@@ -17,10 +17,18 @@
 
 package org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.controller;
 
+import java.util.List;
+import org.apache.shenyu.examples.dubbo.api.entity.ComplexBeanTest;
 import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
+import org.apache.shenyu.examples.dubbo.api.entity.ListResp;
 import 
org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.api.ShenyuAlibabaDubboClientApi;
+import 
org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.dto.DubboRequestBody;
+import 
org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.dto.DubboTestSaveRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -42,4 +50,92 @@ public class ShenyuAlibabaDubboSdkExampleController {
         return shenyuApacheDubboClientApi.findAll();
     }
 
+    /**
+     * findList.
+     * @return ListResp
+     */
+    @GetMapping("/sdk/dubbo/findList")
+    public ListResp findList() {
+        return shenyuApacheDubboClientApi.findList();
+    }
+
+    /**
+     * findById.
+     * @param id id
+     * @return DubboTest
+     */
+    @GetMapping("/sdk/dubbo/findById")
+    public DubboTest findById(final @RequestParam("id") String id) {
+        return shenyuApacheDubboClientApi.findById(id);
+    }
+
+    /**
+     * findByListId.
+     * @param ids ids
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/findByListId")
+    public DubboTest findByListId(final @RequestBody List<String> ids) {
+        return shenyuApacheDubboClientApi.findByListId(ids);
+    }
+
+    /**
+     * insert.
+     * @param dubboTest dubboTest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/insert")
+    public DubboTest insert(final @RequestBody DubboTest dubboTest) {
+        return shenyuApacheDubboClientApi.insert(dubboTest);
+    }
+
+    /**
+     * findByIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/demo/findByIdsAndName")
+    public DubboTest findByIdsAndName(final @RequestBody DubboRequestBody 
dubboRequestBody) {
+        return shenyuApacheDubboClientApi.findByIdsAndName(dubboRequestBody);
+    }
+
+    /**
+     * findByArrayIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/findByArrayIdsAndName")
+    public DubboTest findByArrayIdsAndName(final @RequestBody DubboRequestBody 
dubboRequestBody) {
+        return 
shenyuApacheDubboClientApi.findByArrayIdsAndName(dubboRequestBody);
+    }
+
+    /**
+     * saveComplexBeanTest.
+     * @param complexBeanTest complexBeanTest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/saveComplexBeanTest")
+    public DubboTest saveComplexBeanTest(final @RequestBody ComplexBeanTest 
complexBeanTest) {
+        return shenyuApacheDubboClientApi.saveComplexBeanTest(complexBeanTest);
+    }
+
+    /**
+     * batchSave.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/batchSave")
+    public DubboTest batchSave(final @RequestBody DubboTestSaveRequest 
dubboTestSaveRequest) {
+        return shenyuApacheDubboClientApi.batchSave(dubboTestSaveRequest);
+    }
+
+    /**
+     * batchSaveAndNameAndId.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/batchSaveAndNameAndId")
+    public DubboTest batchSaveAndNameAndId(final @RequestBody 
DubboTestSaveRequest dubboTestSaveRequest) {
+        return 
shenyuApacheDubboClientApi.batchSaveAndNameAndId(dubboTestSaveRequest);
+    }
 }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/dto/DubboRequestBody.java
similarity index 53%
copy from 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
copy to 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/dto/DubboRequestBody.java
index e72de45b4..b09ec13ef 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/dto/DubboRequestBody.java
@@ -15,24 +15,56 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.examples.sdk.apache.dubbo.consumer.api;
+package org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.dto;
 
-import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
-import org.apache.shenyu.sdk.spring.ShenyuClient;
-import org.springframework.web.bind.annotation.GetMapping;
+import java.util.List;
 
 /**
- * ShenyuApacheDubboClientApi.
+ * DubboRequestBody.
+ * @param <T> type
  */
-@ShenyuClient(contextId = "shenyu-gateway", name = "ShenyuSdkApiName")
-public interface ShenyuApacheDubboClientApi {
+public class DubboRequestBody<T> {
 
     /**
-     * findAll.
-     * test Get.
-     * @return SdkTestDto
+     * ids.
      */
-    @GetMapping("/dubbo/findAll")
-    DubboTest findAll();
 
+    private List<T> ids;
+    /**
+     * name.
+     */
+
+    private String name;
+
+    /**
+     * getIds.
+     * @return list
+     */
+    public List<T> getIds() {
+        return ids;
+    }
+
+    /**
+     * setIds.
+     * @param ids ids
+     */
+    public void setIds(final List<T> ids) {
+        this.ids = ids;
+    }
+
+    /**
+     * getName.
+     * @return name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * setName.
+     * @param name name
+     */
+    public void setName(final String name) {
+        this.name = name;
+    }
 }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/dto/DubboTestSaveRequest.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/dto/DubboTestSaveRequest.java
new file mode 100644
index 000000000..42bd6ec4c
--- /dev/null
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-alibaba-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/alibaba/dubbo/consumer/dto/DubboTestSaveRequest.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shenyu.examples.sdk.alibaba.dubbo.consumer.dto;
+
+import java.util.List;
+import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
+
+/**
+ * DubboTestSaveRequest.
+ */
+public class DubboTestSaveRequest {
+
+    /**
+     * dubboTestList.
+     */
+    private List<DubboTest> dubboTestList;
+
+    /**
+     * id.
+     */
+    private String id;
+
+    /**
+     * name.
+     */
+    private String name;
+
+    /**
+     * getId.
+     * @return id
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * setId.
+     * @param id id
+     */
+    public void setId(final String id) {
+        this.id = id;
+    }
+
+    /**
+     * getName.
+     * @return name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * setName.
+     * @param name name
+     */
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    /**
+     * getDubboTestList.
+     * @return list
+     */
+    public List<DubboTest> getDubboTestList() {
+        return dubboTestList;
+    }
+
+    /**
+     * setDubboTestList.
+     * @param dubboTestList dubboTestList
+     */
+    public void setDubboTestList(final List<DubboTest> dubboTestList) {
+        this.dubboTestList = dubboTestList;
+    }
+}
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/http/sdk-apache-dubbo-test-api.http
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/http/sdk-apache-dubbo-test-api.http
index 6c328bc98..013905c52 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/http/sdk-apache-dubbo-test-api.http
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/http/sdk-apache-dubbo-test-api.http
@@ -21,4 +21,92 @@ GET http://localhost:8899/sdk/dubbo/findAll
 Accept: application/json
 Content-Type: application/json
 
+### shengyu apache dubbo /sdk/dubbo/findList
+GET http://localhost:8899/sdk/dubbo/findList
+Accept: application/json
+Content-Type: application/json
 
+### shengyu apache dubbo /sdk/dubbo/findById
+GET http://localhost:8899/sdk/dubbo/findById?id=1
+Accept: application/json
+Content-Type: application/json
+
+### shengyu apache dubbo /sdk/dubbo/findByListId
+POST http://localhost:8899/sdk/dubbo/findByListId
+Accept: application/json
+Content-Type: application/json
+{
+    "ids":["1","2"]
+}
+
+### shengyu apache dubbo /sdk/dubbo/insert
+POST http://localhost:8899/sdk/dubbo/insert
+Accept: application/json
+Content-Type: application/json
+{
+    "id":1L,
+    "name":"helloworld"
+}
+
+### shengyu apache dubbo /sdk/dubbo/findByIdsAndName
+POST http://localhost:8899/sdk/dubbo/findByIdsAndName
+Accept: application/json
+Content-Type: application/json
+{
+    "ids":["1","2"],
+    "name":"333"
+}
+
+### shengyu apache dubbo /sdk/dubbo/findByArrayIdsAndName
+POST http://localhost:8899/sdk/dubbo/findByArrayIdsAndName
+Accept: application/json
+Content-Type: application/json
+{
+    "ids":[1,12],
+    "name":"999"
+}
+
+### shengyu apache dubbo /sdk/dubbo/saveComplexBeanTest
+POST http://localhost:8899/sdk/dubbo/saveComplexBeanTest
+Accept: application/json
+Content-Type: application/json
+{
+    "dubboTest":{
+        "id": "123",
+        "name": "test1"
+    },
+    "idLists": [
+        "1",
+        "2"
+    ],
+    "idMaps": {
+  }
+}
+
+### shengyu apache dubbo /sdk/dubbo/batchSave
+POST http://localhost:8899/sdk/dubbo/batchSave
+Accept: application/json
+Content-Type: application/json
+{
+    "dubboTestList": [
+        {
+            "name": "22222",
+            "id": "122"
+        }
+    ]
+}
+
+### shengyu apache dubbo /sdk/dubbo/batchSaveAndNameAndId
+POST http://localhost:8899/sdk/dubbo/batchSaveAndNameAndId
+Accept: application/json
+Content-Type: application/json
+{
+    "dubboTestList": [
+        {
+            "name": "22222",
+            "id": "122"
+        }
+    ],
+    "id":"123344",
+    "name":"testete"
+}
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
index e72de45b4..9900186fd 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
@@ -17,9 +17,17 @@
 
 package org.apache.shenyu.examples.sdk.apache.dubbo.consumer.api;
 
+import java.util.List;
+import org.apache.shenyu.examples.dubbo.api.entity.ComplexBeanTest;
 import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
+import org.apache.shenyu.examples.dubbo.api.entity.ListResp;
+import 
org.apache.shenyu.examples.sdk.apache.dubbo.consumer.dto.DubboRequestBody;
+import 
org.apache.shenyu.examples.sdk.apache.dubbo.consumer.dto.DubboTestSaveRequest;
 import org.apache.shenyu.sdk.spring.ShenyuClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * ShenyuApacheDubboClientApi.
@@ -30,9 +38,79 @@ public interface ShenyuApacheDubboClientApi {
     /**
      * findAll.
      * test Get.
-     * @return SdkTestDto
+     * @return DubboTest
      */
     @GetMapping("/dubbo/findAll")
     DubboTest findAll();
 
+    /**
+     * findList.
+     * @return ListResp
+     */
+    @GetMapping("/dubbo/findList")
+    ListResp findList();
+
+    /**
+     * findById.
+     * @param id id
+     * @return DubboTest
+     */
+    @GetMapping("/dubbo/findById")
+    DubboTest findById(@RequestParam("id") String id);
+
+    /**
+     * insert.
+     * @param dubboTest dubboTest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/insert")
+    DubboTest insert(@RequestBody DubboTest dubboTest);
+
+    /**
+     * findByListId.
+     * @param ids ids
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/findByListId")
+    DubboTest findByListId(@RequestBody List<String> ids);
+
+    /**
+     * findByIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/demo/findByIdsAndName")
+    DubboTest findByIdsAndName(@RequestBody DubboRequestBody dubboRequestBody);
+
+    /**
+     * findByArrayIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/demo/findByIdsAndName")
+    DubboTest findByArrayIdsAndName(@RequestBody DubboRequestBody 
dubboRequestBody);
+
+    /**
+     * saveComplexBeanTest.
+     * @param complexBeanTest complexBeanTest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/saveComplexBeanTest")
+    DubboTest saveComplexBeanTest(@RequestBody ComplexBeanTest 
complexBeanTest);
+
+    /**
+     * batchSave.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/batchSave")
+    DubboTest batchSave(@RequestBody DubboTestSaveRequest 
dubboTestSaveRequest);
+
+    /**
+     * batchSaveAndNameAndId.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/dubbo/batchSaveAndNameAndId")
+    DubboTest batchSaveAndNameAndId(@RequestBody DubboTestSaveRequest 
dubboTestSaveRequest);
 }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
index d0e5450d8..7392f1835 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
@@ -17,10 +17,18 @@
 
 package org.apache.shenyu.examples.sdk.apache.dubbo.consumer.controller;
 
+import java.util.List;
+import org.apache.shenyu.examples.dubbo.api.entity.ComplexBeanTest;
 import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
+import org.apache.shenyu.examples.dubbo.api.entity.ListResp;
 import 
org.apache.shenyu.examples.sdk.apache.dubbo.consumer.api.ShenyuApacheDubboClientApi;
+import 
org.apache.shenyu.examples.sdk.apache.dubbo.consumer.dto.DubboRequestBody;
+import 
org.apache.shenyu.examples.sdk.apache.dubbo.consumer.dto.DubboTestSaveRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -35,11 +43,100 @@ public class ShenyuApacheDubboSdkExampleController {
 
     /**
      * findAll.
-     * @return SdkTestDto
+     * @return DubboTest
      */
     @GetMapping("/sdk/dubbo/findAll")
     public DubboTest findAll() {
         return shenyuApacheDubboClientApi.findAll();
     }
 
+    /**
+     * findList.
+     * @return ListResp
+     */
+    @GetMapping("/sdk/dubbo/findList")
+    public ListResp findList() {
+        return shenyuApacheDubboClientApi.findList();
+    }
+
+    /**
+     * findById.
+     * @param id id
+     * @return DubboTest
+     */
+    @GetMapping("/sdk/dubbo/findById")
+    public DubboTest findById(final @RequestParam("id") String id) {
+        return shenyuApacheDubboClientApi.findById(id);
+    }
+
+    /**
+     * findByListId.
+     * @param ids ids
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/findByListId")
+    public DubboTest findByListId(final @RequestBody List<String> ids) {
+        return shenyuApacheDubboClientApi.findByListId(ids);
+    }
+
+    /**
+     * insert.
+     * @param dubboTest dubboTest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/insert")
+    public DubboTest insert(final @RequestBody DubboTest dubboTest) {
+        return shenyuApacheDubboClientApi.insert(dubboTest);
+    }
+
+    /**
+     * findByIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/demo/findByIdsAndName")
+    public DubboTest findByIdsAndName(final @RequestBody DubboRequestBody 
dubboRequestBody) {
+        return shenyuApacheDubboClientApi.findByIdsAndName(dubboRequestBody);
+    }
+
+    /**
+     * findByArrayIdsAndName.
+     * @param dubboRequestBody dubboRequestBody
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/findByArrayIdsAndName")
+    public DubboTest findByArrayIdsAndName(final @RequestBody DubboRequestBody 
dubboRequestBody) {
+        return 
shenyuApacheDubboClientApi.findByArrayIdsAndName(dubboRequestBody);
+    }
+
+    /**
+     * saveComplexBeanTest.
+     * @param complexBeanTest complexBeanTest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/saveComplexBeanTest")
+    public DubboTest saveComplexBeanTest(final @RequestBody ComplexBeanTest 
complexBeanTest) {
+        return shenyuApacheDubboClientApi.saveComplexBeanTest(complexBeanTest);
+    }
+
+    /**
+     * batchSave.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/batchSave")
+    public DubboTest batchSave(final @RequestBody DubboTestSaveRequest 
dubboTestSaveRequest) {
+        return shenyuApacheDubboClientApi.batchSave(dubboTestSaveRequest);
+    }
+
+    /**
+     * batchSaveAndNameAndId.
+     * @param dubboTestSaveRequest dubboTestSaveRequest
+     * @return DubboTest
+     */
+    @PostMapping("/sdk/dubbo/batchSaveAndNameAndId")
+    public DubboTest batchSaveAndNameAndId(final @RequestBody 
DubboTestSaveRequest dubboTestSaveRequest) {
+        return 
shenyuApacheDubboClientApi.batchSaveAndNameAndId(dubboTestSaveRequest);
+    }
+
 }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/dto/DubboRequestBody.java
similarity index 53%
copy from 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
copy to 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/dto/DubboRequestBody.java
index e72de45b4..0f2081e5d 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/dto/DubboRequestBody.java
@@ -15,24 +15,56 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.examples.sdk.apache.dubbo.consumer.api;
+package org.apache.shenyu.examples.sdk.apache.dubbo.consumer.dto;
 
-import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
-import org.apache.shenyu.sdk.spring.ShenyuClient;
-import org.springframework.web.bind.annotation.GetMapping;
+import java.util.List;
 
 /**
- * ShenyuApacheDubboClientApi.
+ * DubboRequestBody.
+ * @param <T> type
  */
-@ShenyuClient(contextId = "shenyu-gateway", name = "ShenyuSdkApiName")
-public interface ShenyuApacheDubboClientApi {
+public class DubboRequestBody<T> {
 
     /**
-     * findAll.
-     * test Get.
-     * @return SdkTestDto
+     * ids.
      */
-    @GetMapping("/dubbo/findAll")
-    DubboTest findAll();
 
+    private List<T> ids;
+    /**
+     * name.
+     */
+
+    private String name;
+
+    /**
+     * getIds.
+     * @return list
+     */
+    public List<T> getIds() {
+        return ids;
+    }
+
+    /**
+     * setIds.
+     * @param ids ids
+     */
+    public void setIds(final List<T> ids) {
+        this.ids = ids;
+    }
+
+    /**
+     * getName.
+     * @return name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * setName.
+     * @param name name
+     */
+    public void setName(final String name) {
+        this.name = name;
+    }
 }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/dto/DubboTestSaveRequest.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/dto/DubboTestSaveRequest.java
new file mode 100644
index 000000000..ab1f7c2cb
--- /dev/null
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/dto/DubboTestSaveRequest.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shenyu.examples.sdk.apache.dubbo.consumer.dto;
+
+import java.util.List;
+import org.apache.shenyu.examples.dubbo.api.entity.DubboTest;
+
+/**
+ * DubboTestSaveRequest.
+ */
+public class DubboTestSaveRequest {
+
+    /**
+     * dubboTestList.
+     */
+    private List<DubboTest> dubboTestList;
+
+    /**
+     * id.
+     */
+    private String id;
+
+    /**
+     * name.
+     */
+    private String name;
+
+    /**
+     * getId.
+     * @return id
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * setId.
+     * @param id id
+     */
+    public void setId(final String id) {
+        this.id = id;
+    }
+
+    /**
+     * getName.
+     * @return name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * setName.
+     * @param name name
+     */
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    /**
+     * getDubboTestList.
+     * @return list
+     */
+    public List<DubboTest> getDubboTestList() {
+        return dubboTestList;
+    }
+
+    /**
+     * setDubboTestList.
+     * @param dubboTestList dubboTestList
+     */
+    public void setDubboTestList(final List<DubboTest> dubboTestList) {
+        this.dubboTestList = dubboTestList;
+    }
+}


Reply via email to