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

      

  • 相关阅读:
    MySQL数据库触发器
    软碟通制作fedora17 U盘启动的方法
    编译自己功能定制的Fedora7内核
    SUSE Linux 10配置裸设备(raw devices)
    linux之cut用法
    python---opencv常用函数
    vscode安装以及如何连接服务器
    pip 安装包问题汇总
    conda创建环境失败的解决方法
    git操作
  • 原文地址:https://www.cnblogs.com/Andrew520/p/9397649.html
Copyright © 2011-2022 走看看