首页 > 其他 > 详细

微服务中的rpc 请求写法

时间:2018-07-31 20:03:15      阅读:202      评论:0      收藏:0      [点我收藏+]

1、采用restmplate 的postForObject

RestTemplate template = new RestTemplate();
            HttpEntity<List<Map<String, Object>>> request = new HttpEntity<>(paramList, this.getHeaders());
            Map map = template.postForObject(url, request, Map.class);

 url: 对外发送请求的url地址

request:请求的参数,带请求头。比如这里是参数类型是一个 List<Map<String, Object>>

map.class : 请求返回值的类型 这里返回值为一个map 

 

2、如果传入的参数 param是json对象,postForObject 有时候会报错,此处的docVo 为json对象;

同时,返回值 不是简单的map,list类型,而是对象,则此时需要用到另外一个方法ParameterizedTypeReference 来创建一个返回值包装对象

typeRef = new ParameterizedTypeReference<BaseResultVo<PageDataVo<DocBrowseRankVo>>>() {};

3 、调用 restTemplate.exchange(requestUrl, HttpMethod.POST, request, typeRef);
HttpEntity<DocVo> request = new HttpEntity<>(docyVo, Common.getHeaders());
        ParameterizedTypeReference<BaseResultVo<PageDataVo<DocBrowseRankVo>> > typeRef = new ParameterizedTypeReference<BaseResultVo<PageDataVo<DocBrowseRankVo>>>() {};
        ResponseEntity<BaseResultVo<PageDataVo<DocBrowseRankVo>>> responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, request, typeRef);
        return responseEntity.getBody();

  

 

微服务中的rpc 请求写法

原文:https://www.cnblogs.com/Andrew520/p/9397649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!