
RestTemplate post请求
发布日期:2021-05-13 01:13:06
浏览次数:12
分类:博客文章
本文共 2348 字,大约阅读时间需要 7 分钟。
以前一开始用原生的http请求,那叫一个累,后来找到一个第三方的工具包,用起来是真的舒服,不过有一说一,第三方工具包依赖性真的强,除非和组长商量过,不然能少用,还是少用点。话说搞微服务的肯定少不了和HTTP或RPC打交道的,以前了解过Spring 的RestTemplate,但是一旦实践就给忘光光了。不过经过几次折腾,总算是搞明白了。get请求就不说了,主要是说一下post请求。上代码:
1 RestTemplate restTemplate = new RestTemplate(); 2 HttpHeaders headers = new HttpHeaders(); 3 MultiValueMapmap = new LinkedMultiValueMap<>(); 4 map.add("subFun", CommConfig.Otrs_SubFun_CTIDUTYPERSON); 5 map.add("paramEncoded", base(params)); 6 //以form-data形式发送请求 7 headers.setContentType(MediaType.MULTIPART_FORM_DATA); 8 HttpEntity > request = new HttpEntity<>(map, headers); 9 ResponseEntity response = restTemplate.postForEntity(url, request, String.class);10 //对数据结果的处理11 return JSONObject.parseObject(response.getBody());
第一行是new一个对象
第二行是new一个头部信息
第三行是new一个map对象,注意要用LinkedMultiValueMap
第四、五行都是添加请求参数
第七行是设置请求方式,这里要特别注意,因为post有很多的发送方式,比如,json,form-data,xxx-form-data等,具体的点进去找就行了,里面也有注释说得很清楚
第八行是组装请求体
第九行是发送请求,注意String.class,如果你返回的参数属性确定,就可以用一个实体类来接收
第十一行是我把接收到的参数转为了json格式
这样一个最实用的post请求就出来了。由于我的代码中多处用到了post请求,所以我就拆分成一个方法,为啥不是工具类,因为我觉得他还不够灵活。上截图:
1 /** 2 * 发送post请求 3 * @param map 请求参数 4 * @param url 请求地址 5 * @return 响应结果 6 */ 7 public JSONObject post(MultiValueMapmap, String url) { 8 RestTemplate restTemplate = new RestTemplate(); 9 HttpHeaders headers = new HttpHeaders();10 //以form-data形式发送请求11 headers.setContentType(MediaType.MULTIPART_FORM_DATA);12 HttpEntity > request = new HttpEntity<>(map, headers);13 ResponseEntity response = restTemplate.postForEntity(url, request, String.class);14 //对数据结果的处理15 return JSONObject.parseObject(response.getBody());16 }
调用方式,组装好一个map,然后直接调用post()方法就好了
1 //1、RestTemplate发送http post请求2 MultiValueMapmap = new LinkedMultiValueMap<>();3 map.add("subFun", CommConfig.Otrs_SubFun_CTISTATISTICSCALLRECORD);4 map.add("paramEncoded", base(params));5 //2、拿到返回的数据,转换为JSONObject6 JSONObject results = post(map, resUrl("base","otrsUrlBase")+resUrl("base","otrsUrlInf"));
之所以说不够灵活,就是请求方式目前是固定的,没有分解出来。最近项目比较赶,没多少时间研究了,先这样子吧。
好了,下课
发表评论
最新留言
不错!
[***.144.177.141]2025年04月09日 19时12分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C#批量上传图片
2019-03-10
【亚马逊运营】有关滞销库存的处理方法之站外清库存法!
2019-03-10
pyhon中安装win32com模块
2019-03-10
C++错误笔记
2019-03-10
解决 MySQL 8.0 客户端连接 caching_sha2_password 问题
2019-03-10
【无线通信模块】GPRS DTU不稳定和容易掉线原因
2019-03-10
CSS(六)|页面布局之定位
2019-03-10
比特币(BSV)知识库:身份-BSVAlias
2019-03-10
设计模式 - 2) 策略模式
2019-03-10
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
国标流媒体服务器以ROOT身份运行提示“permission denide”报错解决
2019-03-10
如何在农业或大棚内布置互联网安防监控系统实现智慧农业?
2019-03-10
【视频教程】EasyNVR如何将老版本的EasyNVR的数据迁移到4.0.0以上版本
2019-03-10
qt中转到槽后如何取消信号与槽关联
2019-03-10