zoukankan      html  css  js  c++  java
  • 微服务中的rpc 请求写法

    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();
    

      

  • 相关阅读:
    Python入门--14--字典
    Python入门--13--爬虫一
    Python入门--13--递归
    Python入门--12--函数与变量
    Python入门--11--自定义函数
    Python入门--10--序列
    mysql 删除重复记录
    Java 不可编辑的Map
    mysql left join
    mysql 超过5名学生的课
  • 原文地址:https://www.cnblogs.com/Andrew520/p/9397649.html
Copyright © 2011-2022 走看看