You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/08/14 06:14:14 UTC

[incubator-servicecomb-java-chassis] 02/02: form with default value in springmvc

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

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 721b8db0e64a7026a37a1f82d924642afb78e3a3
Author: heyile <he...@huawei.com>
AuthorDate: Tue Aug 14 08:33:20 2018 +0800

    form with default value in springmvc
---
 .../servicecomb/it/testcase/base/TestDataTypeSpringmvc.java | 13 +++++++++++++
 .../org/apache/servicecomb/it/schema/DataTypeSpringmvc.java |  8 ++++++++
 2 files changed, 21 insertions(+)

diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/base/TestDataTypeSpringmvc.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/base/TestDataTypeSpringmvc.java
index 9d98eb1..e21036a 100644
--- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/base/TestDataTypeSpringmvc.java
+++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/base/TestDataTypeSpringmvc.java
@@ -235,6 +235,19 @@ public class TestDataTypeSpringmvc {
   }
 
   @Test
+  public void intFormWithDefault_rt() {
+    HttpHeaders formHeaders = new HttpHeaders();
+    formHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+    Map<String, Integer> map = new HashMap<>();
+//    map.put("form1", 13);
+    HttpEntity<Map<String, Integer>> formEntiry = new HttpEntity<>(map, formHeaders);
+
+    assertEquals(13, (int) restTemplate.postForEntity(urlPrefix + "/intFormWithDefault", formEntiry, int.class).getBody());
+    //两种调用方式都可以
+    assertEquals(13, (int) restTemplate.postForEntity(urlPrefix + "/intFormWithDefault", map, int.class).getBody());
+  }
+
+  @Test
   public void intAdd_intf() {
     int i = dataTypeIntf.intAdd(2, 3);
     assertEquals(5, i);
diff --git a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvc.java b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvc.java
index 98f2645..f6a3558 100644
--- a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvc.java
+++ b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvc.java
@@ -99,6 +99,14 @@ public class DataTypeSpringmvc {
     return pojo.intBody(input);
   }
 
+  @PostMapping(path = "intFormWithDefault")
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "form1", dataType = "integer", format = "int32", paramType = "form", value = "a required form param", defaultValue = "13",
+          required = true)})
+  public int intFormWithDefault(int form1) {
+    return pojo.intBody(form1);
+  }
+
   //这里算是 jaxrs 和 springmvc 的一个混用,按道理是不能这么使用的,不过这样确实跑通了
   //也算是增加了功能,就不删了
   @RequestMapping(path = "intAttributeWithDefault", method = RequestMethod.POST)