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

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new 4131d1f34 Add dubbo-sample-rest-jaxrs some jaxrs'annotation & 
argumments use sample cases (#1170)
4131d1f34 is described below

commit 4131d1f3438d5ece8241e3180d806beac09e230e
Author: fanlobu <[email protected]>
AuthorDate: Thu Aug 15 09:42:14 2024 +0800

    Add dubbo-sample-rest-jaxrs some jaxrs'annotation & argumments use sample 
cases (#1170)
---
 .../demo/complex/ComplexParamReqServiceImpl.java   |  24 ++
 .../demo/complex/ComplexParamRequestService.java   |  31 ++-
 .../demo/routine/ParamTransferRequestService.java  |  93 +++++++-
 .../routine/ParamTransferRequestServiceImpl.java   | 107 ++++++++-
 .../dubbo/rest/demo/test/BasicParamRequestIT.java  |   1 -
 .../rest/demo/test/ComplexParamRequestIT.java      |  51 ++++-
 .../rest/demo/test/ParamTransferRequestIT.java     | 247 ++++++++++++++++++++-
 7 files changed, 535 insertions(+), 19 deletions(-)

diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamReqServiceImpl.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamReqServiceImpl.java
index b8393be1e..c8628aded 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamReqServiceImpl.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamReqServiceImpl.java
@@ -21,7 +21,10 @@ import org.apache.dubbo.config.annotation.DubboService;
 import org.apache.dubbo.rest.demo.pojo.Person;
 import org.apache.dubbo.rest.demo.pojo.User;
 
+import javax.ws.rs.core.Cookie;
+import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.UriInfo;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -63,9 +66,30 @@ public class ComplexParamReqServiceImpl implements 
ComplexParamRequestService {
         return params.values().stream().flatMap(List::stream).toList();
     }
 
+    @Override
+    public String testHeader(HttpHeaders headers) {
+        return headers.getHeaderString("name");
+    }
+
+    @Override
+    public String testUriInfo(UriInfo uriInfo) {
+        return uriInfo.getPath();
+    }
+
+    @Override
+    public String testForm(Person person) {
+        return person.getName();
+    }
+
+
     @Override
     public Person testXml(Person person) {
         return person;
     }
 
+    @Override
+    public String testCookie(Cookie cookie) {
+        return cookie.getValue();
+    }
+
 }
diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamRequestService.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamRequestService.java
index a154f4301..80f331586 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamRequestService.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/complex/ComplexParamRequestService.java
@@ -28,8 +28,12 @@ import javax.ws.rs.POST;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.Cookie;
+import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.UriInfo;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -64,15 +68,34 @@ public interface ComplexParamRequestService {
     @Produces(MediaType.TEXT_PLAIN)
     String testMapHeader(@HeaderParam("headers") String headerMap);
 
+
+    @POST
+    @Path("/xml")
+    @Consumes(MediaType.TEXT_XML)
+    @Produces(MediaType.APPLICATION_XML)
+    Person testXml(Person person);
+
+
+    @GET
+    @Path("/cookie")
+    @Produces(MediaType.TEXT_PLAIN)
+    String testCookie(@Context Cookie cookie);
     @POST
     @Path("/testMapForm")
     @Produces({MediaType.APPLICATION_JSON})
     @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
     List<String> testMapForm(MultivaluedMap<String,String> params);
+    @GET
+    @Path("/httpHeader")
+    String testHeader(@Context HttpHeaders headers);
+
+    @GET
+    @Path("/uri")
+    @Produces(MediaType.TEXT_PLAIN)
+    String testUriInfo(@Context UriInfo uriInfo);
 
     @POST
-    @Path("/xml")
-    @Consumes(MediaType.TEXT_XML)
-    @Produces(MediaType.APPLICATION_XML)
-    Person testXml(Person person);
+    @Path("/annoForm")
+    @Produces(MediaType.TEXT_PLAIN)
+    String testForm(@org.jboss.resteasy.annotations.Form Person person);
 }
diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestService.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestService.java
index 9aad5a7bf..97738ddeb 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestService.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestService.java
@@ -17,7 +17,10 @@
 
 package org.apache.dubbo.rest.demo.routine;
 
-import org.apache.dubbo.rest.demo.pojo.Person;
+import org.apache.dubbo.remoting.http12.HttpMethods;
+import org.apache.dubbo.remoting.http12.HttpRequest;
+import org.apache.dubbo.remoting.http12.HttpResponse;
+import org.apache.dubbo.rest.demo.pojo.User;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.CookieParam;
@@ -30,7 +33,12 @@ import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
 
 @Path("/param")
 public interface ParamTransferRequestService {
@@ -40,6 +48,37 @@ public interface ParamTransferRequestService {
     @Produces(MediaType.TEXT_PLAIN)
     String sayHello(@QueryParam("name") String name);
 
+    @GET
+    @Path("/queryList")
+    List<String> sayQueryList(@QueryParam("name") List<String> values);
+
+
+    @GET
+    @Path("/queryMap")
+    Map<String,String> sayQueryMap(@QueryParam("name") Map<String,String> 
value);
+
+    @GET
+    @Path("/queryStringMap")
+    Map<String,List<String>> sayQueryStringMap(@QueryParam("name") 
Map<String,List<String>> value);
+
+
+    @GET
+    @Path("/noAnnoParam")
+    @Produces(MediaType.TEXT_PLAIN)
+    String sayNoAnnoParam(String name);
+
+    @GET
+    @Path("/noAnnoListParam")
+    List<String> sayNoAnnoListParam(List<String> value);
+
+
+    @GET
+    @Path("/noAnnoStringMapParam")
+    Map<String,String> sayNoAnnoStringMapParam(Map<String,String> value);
+
+    @GET
+    @Path("/noAnnoArrayParam")
+    String[] sayNoAnnoArrayParam(String[] value);
     @POST
     @Path("/form")
     @Produces(MediaType.TEXT_PLAIN)
@@ -55,12 +94,62 @@ public interface ParamTransferRequestService {
     String sayHeader(@HeaderParam("name") String name);
 
 
+    @GET
+    @Path("/header/map")
+    @Produces(MediaType.TEXT_PLAIN)
+    String sayHeader(@HeaderParam("name") Map<String,String> value);
+
+
     @GET
     @Path("/cookie")
     String sayCookie(@CookieParam("cookieId") String cookieId);
+    @GET
+    @Path("/cookie/list")
+    List<String> sayCookie(@CookieParam("cookieId") List<String> values);
+    @GET
+    @Path("/cookie/map")
+    Map<String,String> sayCookie(@CookieParam("cookieId") Map<String,String> 
value);
 
     @GET
     @Path("/matrix;m={m}")
     @Produces(MediaType.TEXT_PLAIN)
-    String sayMatrix(@MatrixParam("name") String name);
+    String sayMatrixString(@MatrixParam("name") String name);
+
+    @GET
+    @Path("/matrix/list;m={m}")
+    List<String> sayMatrixList(@MatrixParam("list")List<String> values);
+
+
+    @GET
+    @Path("/matrix/map;m={m}")
+    Map<String,List<String>> sayMatrixMap(@MatrixParam("map") 
Map<String,List<String>> value);
+
+
+    @POST
+    @Path("/bodyUser")
+    User sayUser(User users);
+
+    @POST
+    @Path("/bodyList")
+    List<Long> sayList(List<Long> list);
+
+    @POST
+    @Path("/bodyStringMap")
+    Map<String, String> sayStringMap(Map<String, String> value);
+
+
+    @POST
+    @Path("/output")
+    String sayOutput(OutputStream out) throws IOException;
+
+    @GET
+    @Path("/httpMethod")
+    @Produces(MediaType.TEXT_PLAIN)
+    String sayHttpMethod(@Context HttpMethods methods);
+
+    @GET
+    @Path("/http")
+    @Produces(MediaType.TEXT_PLAIN)
+    void sayHttpRequest(@Context HttpRequest request, @Context HttpResponse 
response);
+
 }
diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestServiceImpl.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestServiceImpl.java
index 96a3af4b7..fb8d97a15 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestServiceImpl.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/main/java/org/apache/dubbo/rest/demo/routine/ParamTransferRequestServiceImpl.java
@@ -18,7 +18,16 @@
 package org.apache.dubbo.rest.demo.routine;
 
 import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.remoting.http12.HttpMethods;
+import org.apache.dubbo.remoting.http12.HttpRequest;
+import org.apache.dubbo.remoting.http12.HttpResponse;
 import org.apache.dubbo.rest.demo.pojo.Person;
+import org.apache.dubbo.rest.demo.pojo.User;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
 
 @DubboService
 public class ParamTransferRequestServiceImpl implements 
ParamTransferRequestService{
@@ -27,6 +36,41 @@ public class ParamTransferRequestServiceImpl implements 
ParamTransferRequestServ
         return "Hello " + name;
     }
 
+    @Override
+    public List<String> sayQueryList(List<String> values) {
+        return values;
+    }
+
+    @Override
+    public Map<String, String> sayQueryMap(Map<String, String> value) {
+        return value;
+    }
+
+    @Override
+    public Map<String, List<String>> sayQueryStringMap(Map<String, 
List<String>> value) {
+        return value;
+    }
+
+    @Override
+    public String sayNoAnnoParam(String name) {
+        return name;
+    }
+
+    @Override
+    public List<String> sayNoAnnoListParam(List<String> value) {
+        return value;
+    }
+
+    @Override
+    public Map<String, String> sayNoAnnoStringMapParam(Map<String, String> 
value) {
+        return value;
+    }
+
+    @Override
+    public String[] sayNoAnnoArrayParam(String[] value) {
+        return value;
+    }
+
     @Override
     public String sayForm(String name) {
         return "Hello " + name;
@@ -42,14 +86,73 @@ public class ParamTransferRequestServiceImpl implements 
ParamTransferRequestServ
         return "Hello " + name;
     }
 
+
+    @Override
+    public String sayHeader(Map<String, String> value) {
+        return value.get("name");
+    }
+
     @Override
     public String sayCookie(String cookieId) {
         return "Hello " + cookieId;
     }
 
     @Override
-    public String sayMatrix(String name) {
-        return "Hello " + name;
+    public List<String> sayCookie(List<String> values) {
+        return values;
+    }
+
+    @Override
+    public Map<String, String> sayCookie(Map<String, String> value) {
+        return value;
+    }
+
+    @Override
+    public String sayMatrixString(String name) {
+        return  "Hello " + name;
+    }
+
+    @Override
+    public List<String> sayMatrixList(List<String> values) {
+        return values;
+    }
+
+
+    @Override
+    public Map<String, List<String>> sayMatrixMap(Map<String, List<String>> 
value) {
+        return value;
+    }
+
+    @Override
+    public User sayUser(User users) {
+        return users;
+    }
+
+    @Override
+    public List<Long> sayList(List<Long> list) {
+        return list;
+    }
+
+    @Override
+    public Map<String, String> sayStringMap(Map<String, String> value) {
+        return value;
+    }
+
+    @Override
+    public String sayOutput(OutputStream out) throws IOException {
+        out.write("world".getBytes());
+        return out.toString();
+    }
+
+    @Override
+    public String sayHttpMethod(HttpMethods methods) {
+        return methods.name();
+    }
+
+    @Override
+    public void sayHttpRequest(HttpRequest request, HttpResponse response) {
+        String name = request.header("name");
+        response.setBody(name);
     }
 
 
diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/BasicParamRequestIT.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/BasicParamRequestIT.java
index 9817e178d..8bb8bde0f 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/BasicParamRequestIT.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/BasicParamRequestIT.java
@@ -319,7 +319,6 @@ public class BasicParamRequestIT {
         Assert.assertEquals(new BigInteger("6000000000"), result.getBody());
     }
 
-
     @Test
     public void testBigDecimal() {
         RestClient defaultClient = RestClient.create();
diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ComplexParamRequestIT.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ComplexParamRequestIT.java
index c77cd1268..57e560449 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ComplexParamRequestIT.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ComplexParamRequestIT.java
@@ -123,7 +123,6 @@ public class ComplexParamRequestIT {
 
     @Test
     public void testArray() throws Exception {
-
         User[] array = {new User(1L,"1",1),new User(2L,"2",2)};
         ResponseEntity<User[]> response = RestClient.create().post()
                 .uri("http://"; + providerAddress +":50052/complex/array")
@@ -153,7 +152,6 @@ public class ComplexParamRequestIT {
 
     @Test
     public void testHeader() throws Exception {
-
         ResponseEntity<String> response = RestClient.create().get()
                 .uri("http://"; + providerAddress 
+":50052/complex/testMapHeader")
                 .header("Content-type", "application/json")
@@ -181,7 +179,6 @@ public class ComplexParamRequestIT {
     public void testMapForm() throws Exception {
         MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
         map.add("arg1","Hello");
-        map.add("arg2","world");
         ResponseEntity<List<String>> response = RestClient.create().post()
                 .uri("http://"; + providerAddress +":50052/complex/testMapForm")
                 .contentType(MediaType.APPLICATION_FORM_URLENCODED)
@@ -189,12 +186,11 @@ public class ComplexParamRequestIT {
                 .retrieve()
                 .toEntity(new ParameterizedTypeReference<List<String>>() {
                 });
-        Assert.assertEquals(List.of("Hello","world"),response.getBody());
+        Assert.assertEquals(List.of("Hello"),response.getBody());
     }
 
     @Test
     public void testXml() throws Exception {
-        // TODO xml
         String str = "<?xml  version=\"1.0\" encoding=\"UTF-8\" 
standalone=\"yes\"?><person><name>1</name></person>";
         Person person = new Person("1");
 
@@ -220,4 +216,49 @@ public class ComplexParamRequestIT {
         Assert.assertEquals(person,result);
     }
 
+    @Test
+    public void testCookie(){
+        ResponseEntity<String> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + ":50052/complex/cookie")
+                .header("Content-type", "application/json")
+                .header( "cookie","cookie=1")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("1",response.getBody());
+    }
+
+    @Test
+    public void testHttpHeader(){
+        ResponseEntity<String> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + ":50052/complex/httpHeader")
+                .header( "Content-type","text/plain")
+                .header( "name","world")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("world", response.getBody());
+    }
+
+    @Test
+    public void testUri(){
+        ResponseEntity<String> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + ":50052/complex/uri")
+                .header("Content-type", "application/json")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("/complex/uri", response.getBody());
+    }
+
+    @Test
+    public void testAnnoFrom(){
+        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
+        map.add("name","Li");
+        ResponseEntity<String> response = RestClient.create().post()
+                .uri("http://"; + providerAddress + ":50052/complex/annoForm")
+                .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+                .body(map)
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("Li", response.getBody());
+    }
+
 }
diff --git 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ParamTransferRequestIT.java
 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ParamTransferRequestIT.java
index 389d7fa23..881409898 100644
--- 
a/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ParamTransferRequestIT.java
+++ 
b/2-advanced/dubbo-samples-triple-rest/dubbo-samples-triple-rest-jaxrs/src/test/java/org/apache/dubbo/rest/demo/test/ParamTransferRequestIT.java
@@ -17,11 +17,13 @@
 package org.apache.dubbo.rest.demo.test;
 
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.rest.demo.pojo.User;
 import org.apache.dubbo.rest.demo.routine.ParamTransferRequestService;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.test.context.junit4.SpringRunner;
@@ -29,6 +31,10 @@ import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestClient;
 
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
 @SpringBootTest
 @RunWith(SpringRunner.class)
 public class ParamTransferRequestIT {
@@ -40,7 +46,7 @@ public class ParamTransferRequestIT {
     private ParamTransferRequestService paramTransferRequestService;
 
     @Test
-    public void test(){
+    public void test() throws IOException {
         String result1 = paramTransferRequestService.sayHello("world");
         Assert.assertEquals("Hello world",result1);
 
@@ -56,8 +62,47 @@ public class ParamTransferRequestIT {
         String result5 = paramTransferRequestService.sayCookie("1");
         Assert.assertEquals("Hello 1",result5);
 
-        String result6 = paramTransferRequestService.sayMatrix("world");
-        Assert.assertEquals("Hello world",result6);
+        List<String> result6 = 
paramTransferRequestService.sayCookie(List.of("1","2"));
+        Assert.assertEquals(List.of("1","2"),result6);
+
+        Map<String, String> result7 = 
paramTransferRequestService.sayCookie(Map.of("c1","c","c2","d"));
+        Assert.assertEquals(Map.of("c1","c","c2","d"),result7);
+
+        String result8 = 
paramTransferRequestService.sayHeader(Map.of("name","Hello"));
+        Assert.assertEquals("Hello",result8);
+
+        String result9 = paramTransferRequestService.sayNoAnnoParam("world");
+        Assert.assertEquals("world",result9);
+
+        String[] result10 = 
paramTransferRequestService.sayNoAnnoArrayParam(new String[]{"Hello","world"});
+        Assert.assertArrayEquals(new String[]{"Hello","world"},result10);
+
+        List<Long> result12 = 
paramTransferRequestService.sayList(List.of(1L,2L,3L));
+        Assert.assertEquals(List.of(1L,2L,3L),result12);
+
+        List<String> result13 = 
paramTransferRequestService.sayNoAnnoListParam(List.of("Hello","world"));
+        Assert.assertEquals(List.of("Hello","world"),result13);
+
+        Map<String, String> result14 = 
paramTransferRequestService.sayNoAnnoStringMapParam(Map.of("a","world","b","hello"));
+        Assert.assertEquals(Map.of("a","world","b","hello"),result14);
+
+        String result15 = paramTransferRequestService.sayPath("1");
+        Assert.assertEquals("Hello 1",result15);
+
+        List<String> result16 = 
paramTransferRequestService.sayQueryList(List.of("Hello ","world"));
+        Assert.assertEquals(List.of("Hello ","world"),result16);
+
+        Map<String, String> result18 = 
paramTransferRequestService.sayQueryMap(Map.of("a","world","b","hello"));
+        Assert.assertEquals(Map.of("a","world","b","hello"),result18);
+
+        Map<String, List<String>> result19 = 
paramTransferRequestService.sayQueryStringMap(Map.of("arg1",List.of("Hello","world"),"arg2",List.of("!")));
+        
Assert.assertEquals(Map.of("arg1",List.of("Hello","world"),"arg2",List.of("!")),result19);
+
+        Map<String, String> result20 = 
paramTransferRequestService.sayStringMap(Map.of("Hello","world"));
+        Assert.assertEquals(Map.of("Hello","world"),result20);
+
+        User result21 = paramTransferRequestService.sayUser(new User(1L, "1", 
1));
+        Assert.assertEquals(new User(1L,"1",1),result21);
     }
 
 
@@ -71,6 +116,80 @@ public class ParamTransferRequestIT {
         Assert.assertEquals("Hello world",response.getBody());
     }
 
+    @Test
+    public void testQueryList(){
+        ResponseEntity<List<String>> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/queryList?name={name}&name={name}","Hello ","world")
+                .header( "Content-type","application/json")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<List<String>>() {});
+        Assert.assertEquals(List.of("Hello ","world"),response.getBody());
+    }
+
+    @Test
+    public void testQueryStringMap(){
+        ResponseEntity<Map<String,List<String>>> response = 
RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/queryStringMap?arg1=Hello&arg1=world&arg2=!")
+                .header( "Content-type","application/json")
+                .retrieve()
+                .toEntity(new 
ParameterizedTypeReference<Map<String,List<String>>>() {});
+        
Assert.assertEquals(Map.of("arg1",List.of("Hello","world"),"arg2",List.of("!")),response.getBody());
+
+    }
+
+    @Test
+    public void testQueryMap(){
+        ResponseEntity<Map<String,String>> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/queryMap?a=world&b=hello")
+                .header( "Content-type","application/json")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<Map<String, 
String>>() {
+                });
+        
Assert.assertEquals(Map.of("a","world","b","hello"),response.getBody());
+    }
+
+    @Test
+    public void testNoAnnoParam(){
+        ResponseEntity<String> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/noAnnoParam?name={name}","world")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("world",response.getBody());
+    }
+
+    @Test
+    public void testNoAnnoListParam(){
+        ResponseEntity<List<String>> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/noAnnoListParam?value={value}&value={value}","Hello ","world")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<List<String>>() {});
+        Assert.assertEquals(List.of("Hello ","world"),response.getBody());
+    }
+
+    @Test
+    public void testNoAnnoArrayParam(){
+        ResponseEntity<String[]> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/noAnnoArrayParam?value=Hello&value=world")
+                .header( "Content-type","application/json")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<String[]>() {
+                });
+        Assert.assertArrayEquals(new String[]{"Hello","world"}, 
response.getBody());
+
+    }
+
+    @Test
+    public void testNoAnnoStringMap(){
+        ResponseEntity<Map<String,String>> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + 
":50052/param/noAnnoStringMapParam?a=world&b=hello")
+                .header( "Content-type","application/json")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<Map<String, 
String>>() {
+                });
+        
Assert.assertEquals(Map.of("a","world","b","hello"),response.getBody());
+    }
+
+
     @Test
     public void testPath(){
         ResponseEntity<String> response = RestClient.create().get()
@@ -106,6 +225,15 @@ public class ParamTransferRequestIT {
         Assert.assertEquals("Hello world",response.getBody());
     }
 
+    @Test
+    public void testHeaderMap(){
+        ResponseEntity<String> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + ":50052/param/header/map")
+                .header("name","Hello")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("Hello",response.getBody());
+    }
 
     @Test
     public void testCookie(){
@@ -115,12 +243,33 @@ public class ParamTransferRequestIT {
                 .header( "Cookie","cookieId=1")
                 .retrieve()
                 .toEntity(String.class);
-        System.out.println(response.getBody());
+        Assert.assertEquals("Hello 1",response.getBody());
+    }
+
+    @Test
+    public void testCookieList(){
+        ResponseEntity<List<String>> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + ":50052/param/cookie/list")
+                .header( "Cookie","cookieId=1")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<List<String>>() {
+                });
+        Assert.assertEquals(List.of("1"),response.getBody());
+    }
+
+    @Test
+    public void testCookieMap(){
+        ResponseEntity<Map<String,String>> response = RestClient.create().get()
+                .uri("http://"; + providerAddress + ":50052/param/cookie/map")
+                .header( "Cookie","c1=c")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<Map<String, 
String>>() {
+                });
+        Assert.assertEquals(Map.of("c1","c"),response.getBody());
     }
 
     @Test
     public void testMatrix(){
-        // TODO matrix
         RestClient defaultClient = RestClient.create();
         ResponseEntity<String> result = defaultClient.get()
                 .uri("http://"; + providerAddress + 
":50052/param/matrix;m=name=world")
@@ -130,4 +279,92 @@ public class ParamTransferRequestIT {
         Assert.assertEquals("Hello world", result.getBody());
     }
 
+    @Test
+    public void testMatrixList(){
+        RestClient defaultClient = RestClient.create();
+        ResponseEntity<List<String>> result = defaultClient.get()
+                .uri("http://"; + providerAddress + 
":50052/param/matrix/list;m=list=Hello;list=world")
+                .header("Content-type", "application/json")
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<List<String>>() {
+                });
+        Assert.assertEquals(List.of("Hello","world"), result.getBody());
+    }
+
+    @Test
+    public void testMatrixMap(){
+        RestClient defaultClient = RestClient.create();
+        ResponseEntity<String> result = defaultClient.get()
+                .uri("http://"; + providerAddress + 
":50052/param/matrix;m=name=world")
+                .header("Content-type", "application/json")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("Hello world", result.getBody());
+    }
+
+    @Test
+    public void testBodyUser(){
+        ResponseEntity<User> response = RestClient.create().post()
+                .uri("http://"; + providerAddress + ":50052/param/bodyUser" )
+                .header( "Content-type","application/json")
+                .body(new User(1L,"1",1))
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<User>() {});
+        Assert.assertEquals(new User(1L,"1",1),response.getBody());
+    }
+
+    @Test
+    public void testBodyList(){
+        ResponseEntity<List<Long>> response = RestClient.create().post()
+                .uri("http://"; + providerAddress + ":50052/param/bodyList" )
+                .header( "Content-type","application/json")
+                .body(List.of(1L,2L,3L))
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<List<Long>>() {});
+        Assert.assertEquals(List.of(1L,2L,3L),response.getBody());
+    }
+    @Test
+    public void testBodyStringMap(){
+        ResponseEntity<Map<String,String>> response = 
RestClient.create().post()
+                .uri("http://"; + providerAddress + 
":50052/param/bodyStringMap" )
+                .header( "Content-type","application/json")
+                .body(Map.of("Hello","world"))
+                .retrieve()
+                .toEntity(new ParameterizedTypeReference<Map<String,String>>() 
{});
+        Assert.assertEquals(Map.of("Hello","world"),response.getBody());
+    }
+
+    @Test
+    public void testHttp(){
+        RestClient defaultClient = RestClient.create();
+        ResponseEntity<String> result = defaultClient.get()
+                .uri("http://"; + providerAddress + ":50052/param/http")
+                .header("Content-type", "application/json")
+                .header("name","Hello world")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("Hello world", result.getBody());
+    }
+
+    @Test
+    public void testHttpMethod(){
+        RestClient defaultClient = RestClient.create();
+        ResponseEntity<String> result = defaultClient.get()
+                .uri("http://"; + providerAddress + ":50052/param/httpMethod")
+                .header("Content-type", "application/json")
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("GET", result.getBody());
+    }
+
+    @Test
+    public void testOutPut() throws IOException {
+        RestClient defaultClient = RestClient.create();
+        ResponseEntity<String> result = defaultClient.post()
+                .uri("http://"; + providerAddress + ":50052/param/output")
+                .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+                .retrieve()
+                .toEntity(String.class);
+        Assert.assertEquals("world", result.getBody());
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to