博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于使用RestTemplate中请求方法的使用问题总结
阅读量:2052 次
发布时间:2019-04-28

本文共 1642 字,大约阅读时间需要 5 分钟。

对于RestTemplate相对比较陌生,我记得我只是使用过httpClient,突然遇到这个东西,很迷茫,网上搜了一下,看着是和httpClient实现的功能差不多,具体的差异这里就不说了,可以自行百度,我这里只记录一下我项目中遇到的问题。

使用这个RestTemplate最大的问题,除了学习用法之外,还要适应现在的接口接收参数,因为要发送的接口已经在使用,所以要符合现有接口规则(忍不住吐糟一下,接收参数真是太乱,头一次遇到)。这里记录就以模拟伪代码的形式:

1.比如,现有一接口,是post形式,参数是实体类

@PostMappingpublic String a(@RequestBody 实体类 名){}

用RestTemplate请求这样的接口,我用这样的方式

HttpHeaders headers = new HttpHeaders();        headers.add("Authorization", “依据项目而定”);        headers.add("Content-Type", "application/json");        HttpEntity
<实体类>
entity = new HttpEntity<>(实体类, headers); //方法一,底层也是方法二的实现 Result result = restTemplate.postForObject(url, entity, Result.class); //方法二 ResponseEntity
response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class, "");

注:写法也不止这么多,还需要依据情况而定,get形式的这里就不做栗子了,目前还没有遇到问题,接收形式都差不多。

2.这个问题是比较蒙圈的,因为我搜索的栗子,基本都是需要接收接口里的参数有注解的,可是遇到一个接口里的参数没有注解,这就让我很迷茫了,突然间不知道该怎么做了,然后就是用笨方法,各种试,各种搜,功夫不负有心人,还是解决了(ps:还是要多读相关的文档)。

问题:post请求接口,参数是String的,没有任何的注解。

@PostMappingpublic String a(String 名){}

用RestTemplate请求这样的接口,需用这样的方式

HttpHeaders headers = new HttpHeaders();        headers.add("Authorization", “以实际情况为准”);        //这个可以自行了解,key可以对应多个value,参数用这个传输,要不然接收不到        MultiValueMap
paramMap = new LinkedMultiValueMap
(); paramMap.add("String", string参数值);// HttpEntity
entity = new HttpEntity<>( headers); ResponseEntity
response = restTemplate.exchange(url, HttpMethod.POST, new HttpEntity
>(paramMap,headers), String.class, "");

以上是初步学习使用RestTemplate过程中遇到的问题,记录一下,作为学习的笔记。

推荐一下,这个比较全面,可以看一下:

转载地址:http://vuylf.baihongyu.com/

你可能感兴趣的文章
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>
剑指offer 58. 链表中环的入口结点
查看>>
剑指offer 59. 把字符串转换成整数
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
剑指offer 61. 求1+2+3+...+n
查看>>
剑指offer 62. 孩子们的游戏
查看>>
剑指offer 63.扑克牌顺子
查看>>
剑指offer 64. 翻转单词顺序列
查看>>
剑指offer 65. 左旋转字符串
查看>>
剑指offer 66. 和为S的两个数字
查看>>
leetcode 热题 Hot 100-5. 二叉树的最大深度
查看>>
leetcode 热题 Hot 100-2. 有效的括号
查看>>
leetcode 热题 Hot 100-3. 合并两个有序链表
查看>>
leetcode 热题 Hot 100-4. 对称二叉树
查看>>
Leetcode C++《热题 Hot 100-12》226.翻转二叉树
查看>>
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-16》448.找到所有数组中消失的数字
查看>>