1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00
This commit is contained in:
mercyblitz
2019-02-21 23:59:23 +08:00
parent a150a0cec6
commit 80252f8278
11 changed files with 142 additions and 87 deletions

View File

@@ -31,7 +31,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@@ -153,6 +152,9 @@ public class DubboSpringCloudBootstrap {
System.out.println(dubboFeignRestService.pathVariables("c", "b", "a"));
// Spring Cloud Open Feign REST Call
System.out.println(feignRestService.pathVariables("b", "a", "c"));
// RestTemplate call
System.out.println(restTemplate.getForEntity("http://spring-cloud-alibaba-dubbo//path-variables/{p1}/{p2}?v=c", String.class, "a", "b"));
}
private void callHeaders() {
@@ -180,6 +182,9 @@ public class DubboSpringCloudBootstrap {
System.out.println(dubboFeignRestService.params("1", 1));
// Spring Cloud Open Feign REST Call
System.out.println(feignRestService.params("1", 1));
// RestTemplate call
System.out.println(restTemplate.getForEntity("http://spring-cloud-alibaba-dubbo/param?param=小马哥", String.class));
}
private void callRequestBodyMap() {
@@ -190,35 +195,16 @@ public class DubboSpringCloudBootstrap {
data.put("age", 33);
// Dubbo Service call
System.out.println(restService.requestBody(data, "Hello,World"));
System.out.println(restService.requestBodyMap(data, "Hello,World"));
// Spring Cloud Open Feign REST Call (Dubbo Transported)
System.out.println(dubboFeignRestService.requestBody("Hello,World", data));
// Spring Cloud Open Feign REST Call
// System.out.println(dubboFeignRestService.requestBody("Hello,World", data));
// Spring Cloud Open Feign REST Call
System.out.println(feignRestService.requestBody("Hello,World", data));
// RestTemplate call
System.out.println(restTemplate.postForObject("http://spring-cloud-alibaba-dubbo/request/body/map?param=小马哥", data, User.class));
}
@Bean
public ApplicationRunner restTemplateRunner() {
return arguments -> {
ResponseEntity<String> entity = restTemplate.getForEntity("http://spring-cloud-alibaba-dubbo/param?param=小马哥", String.class);
System.out.println(entity);
Map<String, Object> data = new HashMap<>();
data.put("id", 1);
data.put("name", "小马哥");
data.put("age", 33);
User user = restTemplate.postForObject("http://spring-cloud-alibaba-dubbo/request/body/map", data, User.class);
System.out.println(restTemplate.postForObject("http://spring-cloud-alibaba-dubbo/request/body/map", data, String.class));
Map map = restTemplate.postForObject("http://spring-cloud-alibaba-dubbo/request/body/user", user, Map.class);
System.out.println(map);
};
}
@Bean
@LoadBalanced
@DubboTransported

View File

@@ -35,8 +35,8 @@ public interface RestService {
String form(String form);
User requestBody(Map<String, Object> data, String param);
User requestBodyMap(Map<String, Object> data, String param);
Map<String, Object> requestBody(User user);
Map<String, Object> requestBodyUser(User user);
}

View File

@@ -110,10 +110,10 @@ public class StandardRestService implements RestService {
@Override
@PostMapping(value = "/request/body/map", produces = APPLICATION_JSON_UTF8_VALUE)
@Path("/request/setBody/map")
@Path("/request/body/map")
@POST
@Produces(APPLICATION_JSON_VALUE)
public User requestBody(@RequestBody Map<String, Object> data, @RequestParam("param") @QueryParam("param") String param) {
public User requestBodyMap(@RequestBody Map<String, Object> data, @RequestParam("param") @QueryParam("param") String param) {
User user = new User();
user.setId(((Integer) data.get("id")).longValue());
user.setName((String) data.get("name"));
@@ -123,11 +123,11 @@ public class StandardRestService implements RestService {
}
@PostMapping(value = "/request/body/user", consumes = APPLICATION_JSON_UTF8_VALUE)
@Path("/request/setBody/user")
@Path("/request/body/user")
@POST
@Override
@Consumes(APPLICATION_JSON_UTF8_VALUE)
public Map<String, Object> requestBody(@RequestBody User user) {
public Map<String, Object> requestBodyUser(@RequestBody User user) {
Map<String, Object> map = new HashMap<>();
map.put("id", user.getId());
map.put("name", user.getName());