美文网首页
RestTemplate中的exchange

RestTemplate中的exchange

作者: 7788jay | 来源:发表于2017-08-23 18:06 被阅读0次

    如果返回的结果是对象组合,使用postForObject是会有类型转换问题,需要使用exchange中的ParameterizedTypeReference指定返回类型。

    List<Test> testList = restOperations.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<List<Test>>() {}).getBody();
    

    但同时post需要提交参数的时候是存在问题的,header不能制定application/json;charset=UTF-8,而且封装的对象为MultiValueMap,HttpEntity 的第二个参数需为空

    MultiValueMap<String, Object> params = new LinkedMultiValueMap<String, Object>();
    params.add("pageNo",1);
    
    HttpEntity entity = new HttpEntity(params,null);
    List<Test> testList = restOperations.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<List<Test>>() {}).getBody();
    

    相关文章

      网友评论

          本文标题:RestTemplate中的exchange

          本文链接:https://www.haomeiwen.com/subject/hhljdxtx.html