[ 
https://issues.apache.org/jira/browse/SCB-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16610013#comment-16610013
 ] 

ASF GitHub Bot commented on SCB-841:
------------------------------------

liubao68 closed pull request #871: [SCB-841] move string type test case from 
demo to integration-test
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/871
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
index c19cc4a76..c9a171408 100644
--- 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
+++ 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
@@ -34,7 +34,11 @@
   interface DataTypePojoIntf {
     int intBody(int input);
 
-    int add(int a, int b);
+    int add(int num1, int num2);
+
+    String stringBody(String input);
+
+    String stringConcat(String str1, String str2);
   }
 
   public interface DataTypeRestIntf {
@@ -50,12 +54,28 @@
 
     int intForm(int input);
 
-    int add(int a, int b);
+    int add(int num1, int num2);
+
+    //string
+    String stringPath(String input);
+
+    String stringQuery(String input);
+
+    String stringHeader(String input);
+
+    String stringCookie(String input);
+
+    String stringForm(String input);
+
+    String stringBody(String input);
+
+    String stringConcat(String str1, String str2);
   }
 
   private static Consumers<DataTypePojoIntf> consumersPojo = new 
Consumers<>("dataTypePojo", DataTypePojoIntf.class);
 
-  private static Consumers<DataTypeRestIntf> consumersJaxrs = new 
Consumers<>("dataTypeJaxrs", DataTypeRestIntf.class);
+  private static Consumers<DataTypeRestIntf> consumersJaxrs =
+      new Consumers<>("dataTypeJaxrs", DataTypeRestIntf.class);
 
   private static Consumers<DataTypeRestIntf> consumersSpringmvc = new 
Consumers<>("dataTypeSpringmvc",
       DataTypeRestIntf.class);
@@ -72,52 +92,111 @@ public void int_pojo_intf() {
     assertEquals(10, consumersPojo.getIntf().intBody(10));
   }
 
+  @Test
+  public void string_pojo_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersPojo.getIntf().stringBody(expect));
+  }
+
   @Test
   public void int_pojo_rt() {
     Map<String, Integer> map = new HashMap<>();
     map.put("input", 10);
-
     assertEquals(10, (int) 
consumersPojo.getSCBRestTemplate().postForObject("/intBody", map, int.class));
   }
 
+  @Test
+  public void string_pojo_rt() {
+    String expect = "serviceComb";
+    Map<String, String> map = new HashMap<>();
+    map.put("input", expect);
+    assertEquals(expect, (String) 
consumersPojo.getSCBRestTemplate().postForObject("/stringBody", map, 
String.class));
+  }
+
   @Test
   public void add_pojo_intf() {
     assertEquals(12, consumersPojo.getIntf().add(10, 2));
   }
 
+  @Test
+  public void string_concat_pojo_intf() {
+    assertEquals("serviceComb", 
consumersPojo.getIntf().stringConcat("service", "Comb"));
+  }
+
   @Test
   public void add_pojo_rt() {
     Map<String, Integer> map = new HashMap<>();
-    map.put("a", 10);
-    map.put("b", 2);
+    map.put("num1", 10);
+    map.put("num2", 2);
     assertEquals(12, (int) 
consumersPojo.getSCBRestTemplate().postForObject("/add", map, int.class));
   }
 
+  @Test
+  public void string_concat_pojo_rt() {
+    Map<String, String> map = new HashMap<>();
+    map.put("str1", "service");
+    map.put("str2", "Comb");
+    assertEquals("serviceComb",
+        (String) 
consumersPojo.getSCBRestTemplate().postForObject("/stringConcat", map, 
String.class));
+  }
+
   @Test
   public void intPath_jaxrs_intf() {
     assertEquals(10, consumersJaxrs.getIntf().intPath(10));
   }
 
+  @Test
+  public void stringPath_jaxrs_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersJaxrs.getIntf().stringPath(expect));
+  }
+
   @Test
   public void intPath_jaxrs_rt() {
     assertEquals(10, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/intPath/10", int.class));
   }
 
+  @Test
+  public void stringPath_jaxrs_rt() {
+    String expect = "serviceComb";
+    assertEquals(expect,
+        (String) 
consumersJaxrs.getSCBRestTemplate().getForObject("/stringPath/" + expect, 
String.class));
+  }
+
   @Test
   public void intQuery_jaxrs_intf() {
     assertEquals(10, consumersJaxrs.getIntf().intQuery(10));
   }
 
+  @Test
+  public void stringQuery_jaxrs_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersJaxrs.getIntf().stringQuery(expect));
+  }
+
   @Test
   public void intQuery_jaxrs_rt() {
     assertEquals(10, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/intQuery?input=10", 
int.class));
   }
 
+  @Test
+  public void stringQuery_jaxrs_rt() {
+    String expect = "serviceComb";
+    assertEquals(expect,
+        (String) 
consumersJaxrs.getSCBRestTemplate().getForObject("/stringQuery?input=" + 
expect, String.class));
+  }
+
   @Test
   public void intHeader_jaxrs_intf() {
     assertEquals(10, consumersJaxrs.getIntf().intHeader(10));
   }
 
+  @Test
+  public void stringHeader_jaxrs_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersJaxrs.getIntf().stringHeader(expect));
+  }
+
   @Test
   public void intHeader_jaxrs_rt() {
     intHeader_rt(consumersJaxrs);
@@ -137,11 +216,37 @@ protected void intHeader_rt(Consumers<DataTypeRestIntf> 
consumers) {
     assertEquals(10, (int) response.getBody());
   }
 
+  @Test
+  public void stringHeader_jaxrs_rt() {
+    stringHeader_rt(consumersJaxrs);
+  }
+
+  protected void stringHeader_rt(Consumers<DataTypeRestIntf> consumers) {
+    String expect = "serviceComb";
+    HttpHeaders headers = new HttpHeaders();
+    headers.add("input", expect);
+
+    @SuppressWarnings("rawtypes")
+    HttpEntity entity = new HttpEntity<>(null, headers);
+    ResponseEntity<String> response = consumers.getSCBRestTemplate()
+        .exchange("/stringHeader",
+            HttpMethod.GET,
+            entity,
+            String.class);
+    assertEquals(expect, (String) response.getBody());
+  }
+
   @Test
   public void intCookie_jaxrs_intf() {
     assertEquals(10, consumersJaxrs.getIntf().intCookie(10));
   }
 
+  @Test
+  public void stringCookie_jaxrs_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersJaxrs.getIntf().stringCookie(expect));
+  }
+
   @Test
   public void intCookie_jaxrs_rt() {
     intCookie_rt(consumersJaxrs);
@@ -161,11 +266,37 @@ void intCookie_rt(Consumers<DataTypeRestIntf> consumers) {
     assertEquals(10, (int) response.getBody());
   }
 
+  @Test
+  public void stringCookie_jaxrs_rt() {
+    stringCookie_rt(consumersJaxrs);
+  }
+
+  void stringCookie_rt(Consumers<DataTypeRestIntf> consumers) {
+    String expect = "serviceComb";
+    HttpHeaders headers = new HttpHeaders();
+    headers.add("Cookie", "input=" + expect);
+
+    @SuppressWarnings("rawtypes")
+    HttpEntity entity = new HttpEntity<>(null, headers);
+    ResponseEntity<String> response = consumers.getSCBRestTemplate()
+        .exchange("/stringCookie",
+            HttpMethod.GET,
+            entity,
+            String.class);
+    assertEquals(expect, (String) response.getBody());
+  }
+
   @Test
   public void intForm_jaxrs_intf() {
     assertEquals(10, consumersJaxrs.getIntf().intForm(10));
   }
 
+  @Test
+  public void stringForm_jaxrs_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersJaxrs.getIntf().stringForm(expect));
+  }
+
   @Test
   public void intForm_jaxrs_rt() {
     Map<String, Integer> map = new HashMap<>();
@@ -174,6 +305,26 @@ public void intForm_jaxrs_rt() {
 
     assertEquals(10,
         (int) consumersJaxrs.getSCBRestTemplate().postForEntity("/intForm", 
formEntiry, int.class).getBody());
+    //just use map is ok
+    assertEquals(10,
+        (int) consumersJaxrs.getSCBRestTemplate().postForEntity("/intForm", 
map, int.class).getBody());
+  }
+
+  @Test
+  public void stringForm_jaxrs_rt() {
+    String expect = "serviceComb";
+    Map<String, String> map = new HashMap<>();
+    map.put("input", expect);
+    HttpEntity<Map<String, String>> formEntiry = new HttpEntity<>(map);
+
+    assertEquals(expect,
+        (String) consumersJaxrs.getSCBRestTemplate()
+            .postForEntity("/stringForm", formEntiry, String.class)
+            .getBody());
+
+    //you can use another method to invoke it
+    assertEquals(expect,
+        (String) 
consumersJaxrs.getSCBRestTemplate().postForEntity("/stringForm", map, 
String.class).getBody());
   }
 
   @Test
@@ -181,19 +332,43 @@ public void intBody_jaxrs_intf() {
     assertEquals(10, consumersJaxrs.getIntf().intBody(10));
   }
 
+  @Test
+  public void stringBody_jaxrs_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersJaxrs.getIntf().stringBody(expect));
+  }
+
   @Test
   public void intBody_jaxrs_rt() {
     assertEquals(10, (int) 
consumersJaxrs.getSCBRestTemplate().postForObject("/intBody", 10, int.class));
   }
 
+  @Test
+  public void stringBody_jaxrs_rt() {
+    String expect = "serviceComb";
+    assertEquals(expect,
+        (String) 
consumersJaxrs.getSCBRestTemplate().postForObject("/stringBody", expect, 
String.class));
+  }
+
   @Test
   public void add_jaxrs_intf() {
     assertEquals(12, consumersJaxrs.getIntf().add(10, 2));
   }
 
+  @Test
+  public void string_concat_jaxrs_intf() {
+    assertEquals("serviceComb", 
consumersJaxrs.getIntf().stringConcat("service", "Comb"));
+  }
+
   @Test
   public void add_jaxrs_rt() {
-    assertEquals(12, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/add?a=10&b=2", int.class));
+    assertEquals(12, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/add?num1=10&num2=2", 
int.class));
+  }
+
+  @Test
+  public void string_concat_jaxrs_rt() {
+    assertEquals("serviceComb", (String) consumersJaxrs.getSCBRestTemplate()
+        .getForObject("/stringConcat?str1=service&str2=Comb", String.class));
   }
 
   @Test
@@ -201,46 +376,100 @@ public void intPath_springmvc_intf() {
     assertEquals(10, consumersSpringmvc.getIntf().intPath(10));
   }
 
+  @Test
+  public void stringPath_springmvc_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersSpringmvc.getIntf().stringPath(expect));
+  }
+
   @Test
   public void intPath_springmvc_rt() {
     assertEquals(10, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intPath/10", int.class));
   }
 
+  @Test
+  public void stringPath_springmvc_rt() {
+    String expect = "serviceComb";
+    assertEquals(expect,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringPath/" + expect, 
String.class));
+  }
+
   @Test
   public void intQuery_springmvc_intf() {
     assertEquals(10, consumersSpringmvc.getIntf().intQuery(10));
   }
 
+  @Test
+  public void stringQuery_springmvc_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersSpringmvc.getIntf().stringQuery(expect));
+  }
+
   @Test
   public void intQuery_springmvc_rt() {
     assertEquals(10, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intQuery?input=10", 
int.class));
   }
 
+  @Test
+  public void stringQuery_springmvc_rt() {
+    String expect = "serviceComb";
+    assertEquals(expect,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringQuery?input=" + 
expect, String.class));
+  }
+
   @Test
   public void intHeader_springmvc_intf() {
     assertEquals(10, consumersSpringmvc.getIntf().intHeader(10));
   }
 
+  @Test
+  public void stringHeader_springmvc_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersSpringmvc.getIntf().stringHeader(expect));
+  }
+
   @Test
   public void intHeader_springmvc_rt() {
     intHeader_rt(consumersSpringmvc);
   }
 
+  @Test
+  public void stringHeader_springmvc_rt() {
+    stringHeader_rt(consumersSpringmvc);
+  }
+
   @Test
   public void intCookie_springmvc_intf() {
     assertEquals(10, consumersSpringmvc.getIntf().intCookie(10));
   }
 
+  @Test
+  public void stringCookie_springmvc_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersSpringmvc.getIntf().stringCookie(expect));
+  }
+
   @Test
   public void intCookie_springmvc_rt() {
     intCookie_rt(consumersSpringmvc);
   }
 
+  @Test
+  public void stringCookie_springmvc_rt() {
+    stringCookie_rt(consumersSpringmvc);
+  }
+
   @Test
   public void intForm_springmvc_intf() {
     assertEquals(10, consumersSpringmvc.getIntf().intForm(10));
   }
 
+  @Test
+  public void stringForm_springmvc_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersSpringmvc.getIntf().stringForm(expect));
+  }
+
   @Test
   public void intForm_springmvc_rt() {
     Map<String, Integer> map = new HashMap<>();
@@ -251,23 +480,64 @@ public void intForm_springmvc_rt() {
         (int) 
consumersSpringmvc.getSCBRestTemplate().postForEntity("/intForm", formEntiry, 
int.class).getBody());
   }
 
+  @Test
+  public void stringForm_springmvc_rt() {
+    String expect = "serviceComb";
+    Map<String, String> map = new HashMap<>();
+    map.put("input", expect);
+    HttpEntity<Map<String, String>> formEntiry = new HttpEntity<>(map);
+
+    assertEquals(expect,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().postForEntity("/stringForm", 
formEntiry, String.class)
+            .getBody());
+
+    assertEquals(expect,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().postForEntity("/stringForm", map, 
String.class)
+            .getBody());
+  }
+
   @Test
   public void intBody_springmvc_intf() {
     assertEquals(10, consumersSpringmvc.getIntf().intBody(10));
   }
 
+  @Test
+  public void stringBody_springmvc_intf() {
+    String expect = "serviceComb";
+    assertEquals(expect, consumersSpringmvc.getIntf().stringBody(expect));
+  }
+
   @Test
   public void intBody_springmvc_rt() {
     assertEquals(10, (int) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/intBody", 10, 
int.class));
   }
 
+  @Test
+  public void stringBody_springmvc_rt() {
+    String expect = "serviceComb";
+    assertEquals(expect,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/stringBody", expect, 
String.class));
+  }
+
   @Test
   public void add_springmvc_intf() {
     assertEquals(12, consumersSpringmvc.getIntf().add(10, 2));
   }
 
+  @Test
+  public void string_concat_springmvc_intf() {
+    assertEquals("serviceComb", 
consumersSpringmvc.getIntf().stringConcat("service", "Comb"));
+  }
+
   @Test
   public void add_springmvc_rt() {
-    assertEquals(12, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/add?a=10&b=2", 
int.class));
+    assertEquals(12, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/add?num1=10&num2=2", 
int.class));
+  }
+
+  @Test
+  public void string_concat_springmvc_rt() {
+    assertEquals("serviceComb",
+        (String) consumersSpringmvc.getSCBRestTemplate()
+            .getForObject("/stringConcat?str1=service&str2=Comb", 
String.class));
   }
 }
diff --git 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
index ef03413e1..c356ad2d3 100644
--- 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
+++ 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
@@ -30,6 +30,12 @@
     int intHeader(Integer input);
 
     int intForm(Integer input);
+
+    String stringQuery(String input);
+
+    String stringHeader(String input);
+
+    String stringForm(String input);
   }
 
   interface DefaultValueRequireIntf extends DefaultValueIntf {
@@ -38,8 +44,18 @@
     int intHeaderRequire(Integer input);
 
     int intFormRequire(Integer input);
+
+    String stringQueryRequire(String input);
+
+    String stringHeaderRequire(String input);
+
+    String stringFormRequire(String input);
   }
 
+  private String defaultStr = "string";
+
+  private int defaultInt = 13;
+
   private static Consumers<DefaultValueIntf> consumersJaxrs = new 
Consumers<>("defaultValueJaxrs",
       DefaultValueIntf.class);
 
@@ -54,91 +70,193 @@ public static void classSetup() {
 
   @Test
   public void intQuery_jaxrs_intf() {
-    assertEquals(13, consumersJaxrs.getIntf().intQuery(null));
+    assertEquals(defaultInt, consumersJaxrs.getIntf().intQuery(null));
+  }
+
+  @Test
+  public void stringQuery_jaxrs_intf() {
+    assertEquals(defaultStr, consumersJaxrs.getIntf().stringQuery(null));
   }
 
   @Test
   public void intQuery_jaxrs_rt() {
-    assertEquals(13, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/intQuery", int.class));
+    assertEquals(defaultInt, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/intQuery", int.class));
+  }
+
+  @Test
+  public void stringQuery_jaxrs_rt() {
+    assertEquals(defaultStr, (String) 
consumersJaxrs.getSCBRestTemplate().getForObject("/stringQuery", String.class));
   }
 
   @Test
   public void intHeader_jaxrs_intf() {
-    assertEquals(13, consumersJaxrs.getIntf().intHeader(null));
+    assertEquals(defaultInt, consumersJaxrs.getIntf().intHeader(null));
+  }
+
+  @Test
+  public void stringHeader_jaxrs_intf() {
+    assertEquals(defaultStr, consumersJaxrs.getIntf().stringHeader(null));
   }
 
   @Test
   public void intHeader_jaxrs_rt() {
-    assertEquals(13, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/intHeader", int.class));
+    assertEquals(defaultInt, (int) 
consumersJaxrs.getSCBRestTemplate().getForObject("/intHeader", int.class));
+  }
+
+  @Test
+  public void stringHeader_jaxrs_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersJaxrs.getSCBRestTemplate().getForObject("/stringHeader", 
String.class));
   }
 
   @Test
   public void intForm_jaxrs_intf() {
-    assertEquals(13, consumersJaxrs.getIntf().intForm(null));
+    assertEquals(defaultInt, consumersJaxrs.getIntf().intForm(null));
+  }
+
+  @Test
+  public void stringForm_jaxrs_intf() {
+    assertEquals(defaultStr, consumersJaxrs.getIntf().stringForm(null));
   }
 
   @Test
   public void intForm_jaxrs_rt() {
-    assertEquals(13, (int) 
consumersJaxrs.getSCBRestTemplate().postForObject("/intForm", null, int.class));
+    assertEquals(defaultInt, (int) 
consumersJaxrs.getSCBRestTemplate().postForObject("/intForm", null, int.class));
+  }
+
+  @Test
+  public void stringForm_jaxrs_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersJaxrs.getSCBRestTemplate().postForObject("/stringForm", null, 
String.class));
   }
 
   @Test
   public void intQuery_springmvc_intf() {
-    assertEquals(13, consumersSpringmvc.getIntf().intQuery(null));
+    assertEquals(defaultInt, consumersSpringmvc.getIntf().intQuery(null));
+  }
+
+  @Test
+  public void stringQuery_springmvc_intf() {
+    assertEquals(defaultStr, consumersSpringmvc.getIntf().stringQuery(null));
   }
 
   @Test
   public void intQuery_springmvc_rt() {
-    assertEquals(13, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intQuery", int.class));
+    assertEquals(defaultInt, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intQuery", int.class));
+  }
+
+  @Test
+  public void stringQuery_springmvc_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringQuery", 
String.class));
   }
 
   @Test
   public void intHeader_springmvc_intf() {
-    assertEquals(13, consumersSpringmvc.getIntf().intHeader(null));
+    assertEquals(defaultInt, consumersSpringmvc.getIntf().intHeader(null));
+  }
+
+  @Test
+  public void stringHeader_springmvc_intf() {
+    assertEquals(defaultStr, consumersSpringmvc.getIntf().stringHeader(null));
   }
 
   @Test
   public void intHeader_springmvc_rt() {
-    assertEquals(13, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intHeader", int.class));
+    assertEquals(defaultInt, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intHeader", int.class));
+  }
+
+  @Test
+  public void stringHeader_springmvc_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringHeader", 
String.class));
   }
 
   @Test
   public void intForm_springmvc_intf() {
-    assertEquals(13, consumersSpringmvc.getIntf().intForm(null));
+    assertEquals(defaultInt, consumersSpringmvc.getIntf().intForm(null));
+  }
+
+  @Test
+  public void stringForm_springmvc_intf() {
+    assertEquals(defaultStr, consumersSpringmvc.getIntf().stringForm(null));
   }
 
   @Test
   public void intForm_springmvc_rt() {
-    assertEquals(13, (int) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/intForm", null, 
int.class));
+    assertEquals(defaultInt,
+        (int) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/intForm", null, 
int.class));
+  }
+
+  @Test
+  public void stringForm_springmvc_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/stringForm", null, 
String.class));
   }
 
   @Test
   public void intQuery_require_springmvc_intf() {
-    assertEquals(13, consumersSpringmvc.getIntf().intQueryRequire(null));
+    assertEquals(defaultInt, 
consumersSpringmvc.getIntf().intQueryRequire(null));
+  }
+
+  @Test
+  public void stringQuery_require_springmvc_intf() {
+    assertEquals(defaultStr, 
consumersSpringmvc.getIntf().stringQueryRequire(null));
   }
 
   @Test
   public void intQuery_require_springmvc_rt() {
-    assertEquals(13, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intQueryRequire", 
int.class));
+    assertEquals(defaultInt,
+        (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intQueryRequire", 
int.class));
+  }
+
+  @Test
+  public void stringQuery_require_springmvc_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringQueryRequire", 
String.class));
   }
 
   @Test
   public void intHeader_require_springmvc_intf() {
-    assertEquals(13, consumersSpringmvc.getIntf().intHeaderRequire(null));
+    assertEquals(defaultInt, 
consumersSpringmvc.getIntf().intHeaderRequire(null));
+  }
+
+  @Test
+  public void stringHeader_require_springmvc_intf() {
+    assertEquals(defaultStr, 
consumersSpringmvc.getIntf().stringHeaderRequire(null));
   }
 
   @Test
   public void intHeader_require_springmvc_rt() {
-    assertEquals(13, (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intHeaderRequire", 
int.class));
+    assertEquals(defaultInt,
+        (int) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/intHeaderRequire", 
int.class));
+  }
+
+  @Test
+  public void stringHeader_require_springmvc_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringHeaderRequire", 
String.class));
   }
 
   @Test
   public void intForm_require_springmvc_intf() {
-    assertEquals(13, consumersSpringmvc.getIntf().intFormRequire(null));
+    assertEquals(defaultInt, 
consumersSpringmvc.getIntf().intFormRequire(null));
+  }
+
+  @Test
+  public void stringForm_require_springmvc_intf() {
+    assertEquals(defaultStr, 
consumersSpringmvc.getIntf().stringFormRequire(null));
   }
 
   @Test
   public void intForm_require_springmvc_rt() {
-    assertEquals(13, (int) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/intFormRequire", null, 
int.class));
+    assertEquals(defaultInt,
+        (int) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/intFormRequire", null, 
int.class));
+  }
+
+  @Test
+  public void stringForm_require_springmvc_rt() {
+    assertEquals(defaultStr,
+        (String) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/stringFormRequire", 
null, String.class));
   }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
index 1e372cf97..1fb88543f 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
@@ -68,7 +68,50 @@ public int intBody(int input) {
 
   @Path("add")
   @GET
-  public int add(@QueryParam("a") int a, @QueryParam("b") int b) {
-    return a + b;
+  public int add(@QueryParam("num1") int num1, @QueryParam("num2") int num2) {
+    return num1 + num2;
+  }
+
+  //strinnum1
+  @Path("stringPath/{input}")
+  @GET
+  public String stringPath(@PathParam("input") String input) {
+    return input;
+  }
+
+  @Path("stringQuery")
+  @GET
+  public String stringQuery(@QueryParam("input") String input) {
+    return input;
+  }
+
+  @Path("stringHeader")
+  @GET
+  public String stringHeader(@HeaderParam("input") String input) {
+    return input;
+  }
+
+  @Path("stringCookie")
+  @GET
+  public String stringCookie(@CookieParam("input") String input) {
+    return input;
+  }
+
+  @Path("stringForm")
+  @POST
+  public String stringForm(@FormParam("input") String input) {
+    return input;
+  }
+
+  @Path("stringBody")
+  @POST
+  public String stringBody(String input) {
+    return input;
+  }
+
+  @Path("stringConcat")
+  @GET
+  public String stringConcat(@QueryParam("str1") String str1, 
@QueryParam("str2") String str2) {
+    return str1 + str2;
   }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
index 549fc9be4..6f163d441 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
@@ -27,7 +27,15 @@ public int intBody(int input) {
     return input;
   }
 
-  public int add(int a, int b) {
-    return a + b;
+  public int add(int num1, int num2) {
+    return num1 + num2;
+  }
+
+  public String stringBody(String input) {
+    return input;
+  }
+
+  public String stringConcat(String str1, String str2) {
+    return str1 + str2;
   }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
index 28375d25f..c79af2a6c 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
@@ -60,8 +60,46 @@ public int intBody(@RequestBody int input) {
     return input;
   }
 
-  @GetMapping(path = "/add")
-  public int add(int a, int b) {
-    return a + b;
+  @GetMapping(path = "add")
+  public int add(int num1, int num2) {
+    return num1 + num2;
+  }
+
+  //String
+
+  @GetMapping("stringPath/{input}")
+  public String stringPath(@PathVariable("input") String input) {
+    return input;
+  }
+
+  @GetMapping("stringQuery")
+  public String stringQuery(@RequestParam("input") String input) {
+    return input;
+  }
+
+  @GetMapping("stringHeader")
+  public String stringHeader(@RequestHeader("input") String input) {
+    return input;
+  }
+
+  @GetMapping("stringCookie")
+  public String stringCookie(@CookieValue("input") String input) {
+    return input;
+  }
+
+  @PostMapping("stringBody")
+  public String stringBody(@RequestBody String input) {
+    return input;
+  }
+
+  @PostMapping("stringForm")
+  public String stringForm(@RequestAttribute("input") String input) {
+    return input;
+  }
+
+
+  @GetMapping(path = "stringConcat")
+  public String stringConcat(String str1, String str2) {
+    return str1 + str2;
   }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
index 1c88c8f95..4b94fdad2 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
@@ -46,4 +46,22 @@ public int intHeader(@HeaderParam(value = "input") 
@DefaultValue("13") int input
   public int intForm(@FormParam("input") @DefaultValue("13") int input) {
     return input;
   }
+
+  @Path("stringQuery")
+  @GET
+  public String stringQuery(@QueryParam("input") @DefaultValue("string") 
String input) {
+    return input;
+  }
+
+  @Path("stringHeader")
+  @GET
+  public String stringHeader(@HeaderParam(value = "input") 
@DefaultValue("string") String input) {
+    return input;
+  }
+
+  @Path("stringForm")
+  @POST
+  public String stringForm(@FormParam("input") @DefaultValue("string") String 
input) {
+    return input;
+  }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
index e62bc1d85..e56bfae68 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
@@ -64,4 +64,43 @@ public int intHeaderRequire(@RequestHeader(name = "input", 
required = true, defa
   public int intFormRequire(int input) {
     return input;
   }
+
+  //string
+  @GetMapping("stringQuery")
+  public String stringQuery(@RequestParam(value = "input", defaultValue = 
"string") String input) {
+    return input;
+  }
+
+  @GetMapping("stringHeader")
+  public String stringHeader(@RequestHeader(value = "input", defaultValue = 
"string") String input) {
+    return input;
+  }
+
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "input", dataType = "string", paramType = 
"form", value = "", defaultValue = "string", required = false)})
+  @PostMapping(path = "stringForm")
+  public String stringForm(String input) {
+    return input;
+  }
+
+  // springmvc rule: required should be false because defaultValue have value
+  @GetMapping(path = "stringQueryRequire")
+  public String stringQueryRequire(
+      @RequestParam(name = "input", required = true, defaultValue = "string") 
String input) {
+    return input;
+  }
+
+  // springmvc rule: required should be false because defaultValue have value
+  @GetMapping(path = "stringHeaderRequire")
+  public String stringHeaderRequire(
+      @RequestHeader(name = "input", required = true, defaultValue = "string") 
String input) {
+    return input;
+  }
+
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "input", dataType = "string", paramType = 
"form", value = "a required form param", required = true, defaultValue = 
"string")})
+  @PostMapping(path = "stringFormRequire")
+  public String stringFormRequire(String input) {
+    return input;
+  }
 }


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> [SCB-841] move string type test case from demo to integration-test
> ------------------------------------------------------------------
>
>                 Key: SCB-841
>                 URL: https://issues.apache.org/jira/browse/SCB-841
>             Project: Apache ServiceComb
>          Issue Type: Improvement
>          Components: Java-Chassis
>            Reporter: 何一乐
>            Assignee: 何一乐
>            Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to