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]