(相关资料图)
原文链接
GitHub项目地址
Gitee项目地址
本文介绍restTemplate基础用法。
Java中get和post的用法请参考:Java中Get和Post的使用
@RestController@RequestMapping("/homepage")public class MyController { @Autowired MyService myService; // 提供get接口 @GetMapping("/provideGet") public Map provideGet(){ return myService.provideGet(); } // 提供post接口 @PostMapping("/providePost") public Map providePost(@RequestParam("number") int number, @RequestParam("name") String name) { return myService.providePost(number, name); } // 提供map参数的post接口 @PostMapping("/providePostByMap") public Map providePostByMap(@RequestParam Map map) { return myService.providePostByMap(map); } // 调用get接口 @GetMapping("/useGet") public Map useGet() { return myService.useGet(); }}
@Service@EnableSchedulingpublic class MyService { public Map provideGet() { Map res = new HashMap<>(); res.put("number", "3"); res.put("name", "张三get"); System.out.println("provideGet res:" + res + "\n"); return res; } public Map providePost(int number, String name) { Map res = new HashMap<>(); res.put("number", number); res.put("name", name); return res; } public Map providePostByMap(Map map) { int number = map.get("number") == null ? 0 : Integer.parseInt((String) map.get("number")); String name = map.get("name") == null ? "" : (String) map.get("name"); Map res = new HashMap<>(); res.put("number", number); res.put("name", name); System.out.println("providePostByMap res:" + res + "\n"); return res; }}
使用restTemplate调用get/post接口。
getForObject()
:返回值是HTTP
协议的响应体getForEntity()
:返回的是ResponseEntity
,ResponseEntity
是对HTTP
响应的封装,除了包含响应体,还包含HTTP
状态码、contentType、contentLength、Header
等信息@RestController@RequestMapping("/homepage")public class MyController { @Autowired MyService myService; // 调用get接口 @GetMapping("/useGet") public Map useGet() { return myService.useGet(); } // 调用get接口验证账号密码 @GetMapping("/useGetByPsw") public Map useGetByPsw() { return myService.useGetByPsw(); } // 调用post接口 @PostMapping("/usePost") public Map usePost() { return myService.usePost(); }}
@Service@EnableSchedulingpublic class MyService { @Resource private RestTemplate restTemplate; String getURL = "http://localhost:8081/homepage/provideGet"; String postURL = "http://localhost:8081/homepage/providePostByMap"; public Map useGet() { // getForObject返回值是HTTP协议的响应体 String strObject1 = restTemplate.getForObject(getURL, String.class); //无参 JSONObject jsonObject1 = JSONObject.parseObject(strObject1); MultiValueMap sendData = new LinkedMultiValueMap<>(); sendData.add("number", "3"); sendData.add("name", "张三post"); String strObject2 = restTemplate.getForObject(getURL, String.class, sendData); // 带参 JSONObject jsonObject2 = JSONObject.parseObject(strObject2); // getForEntity返回的是ResponseEntity,是对HTTP响应的封装 ResponseEntity responseData = restTemplate.getForEntity(getURL, ResponseResult.class); Map returnData = new HashMap<>(); returnData.put("StatusCode:", responseData.getStatusCode()); returnData.put("Body:", responseData.getBody()); System.out.println("useGet jsonObject1:" + jsonObject1 + "\n"); System.out.println("useGet jsonObject2:" + jsonObject2 + "\n"); System.out.println("useGet responseData:" + responseData + "\n"); System.out.println("useGet returnData:" + returnData + "\n"); return returnData; } public Map useGetByPsw() { RestTemplateBuilder builder = new RestTemplateBuilder(); RestTemplate restTemplate = builder.basicAuthentication("username", "password").build(); // getForEntity返回的是ResponseEntity,是对HTTP响应的封装 ResponseEntity responseData = restTemplate.getForEntity(getURL, ResponseResult.class); Map returnData = new HashMap<>(); returnData.put("StatusCode:", responseData.getStatusCode()); returnData.put("Body:", responseData.getBody()); System.out.println("useGetByPsw returnData:" + responseData + "\n"); System.out.println("useGetByPsw returnData:" + returnData + "\n"); return returnData; } public Map usePost() { //RestTemplate在postForObject时,用MultiValueMap,不可使用HashMap。 MultiValueMap sendData = new LinkedMultiValueMap<>(); sendData.add("number", "3"); sendData.add("name", "张三post"); // getForObject返回值是HTTP协议的响应体 String strObject = restTemplate.postForObject(postURL, sendData, String.class); JSONObject jsonObject = JSONObject.parseObject(strObject); // getForEntity返回的是ResponseEntity,是对HTTP响应的封装 ResponseEntity responseData = restTemplate.postForEntity(postURL, sendData, ResponseResult.class); Map returnData = new HashMap<>(); returnData.put("StatusCode:", responseData.getStatusCode()); returnData.put("Body:", responseData.getBody()); System.out.println("usePost jsonObject:" + jsonObject + "\n"); System.out.println("usePost responseData:" + responseData + "\n"); System.out.println("usePost returnData:" + returnData + "\n"); return returnData; }}
标签:
原文链接GitHub项目地址Gitee项目地址本文介绍restTemplate基础用法
03-25 02:11:01
徐峥脱口秀大会第二季第十期出现的,具体播出时间是2019年9月22日。这期正好是决赛,该期节目主题是笑是...
03-24 23:17:39
App3月24日消息,近日,人民银行天津分行辅导民生金融租赁股份有限公司成功落地全国首单规模最大货运物...
03-24 22:53:52
河南广电·大象新闻记者龚雪通讯员喻晶3月23日上午,潢川县赛恩小太阳幼儿园的相关负责人来到县政务服务...
03-24 20:56:45
北京恢复常态化住房公积金缓缴政策,贷款,北京市,缓缴政策,住房公积金
03-24 19:07:04
主要消费ETF:博时中证主要消费交易型开放式指数证券投资基金基金产品资料概要更新
03-24 17:56:39
一、工程合同的签订流程怎么走工程合同的签订流程如下:1 立项由业务主管部门或建设单位提出项目建议书...
03-24 16:21:12
有的时候一个好的名字可以让玩家的游戏体验更佳,很多玩家想知道绝地求生刺激战场的游戏名有哪些,下面...
03-24 15:48:10
深化全国文明城市创建|西湖区持续提升城市综合管理水平
03-24 15:13:43
欢迎观看本篇文章,小勉来为大家解答以上问题。fpx战队是哪个国家的,fpx战队所属国家很多人还不知道,...
03-24 13:46:10
预计2030年全国中小型消费服务中心城市数量约200个,武汉,消费服务中心
03-24 12:20:53
“宋国故城考古对整个黄泛区考古都有重要参考意义。”
03-24 11:25:02
为了极致还原拱顶倒塌的画面,导演走访了法国所有同时代的哥特式建筑,搭建了一座与巴黎圣母院内部结构...
03-24 10:08:56
近日,北京有网友拍到了一段大熊猫被小鸟薅”毛的有趣场景。视频中,一只小鸟悄悄接近正在吃竹子的大熊...
03-24 09:11:43
1、电影皮胡那个孩子没活,小皮胡玩也玩累了,哭也哭累了,她又看到了妈妈旁边的白色药片,她拿起药片问...
03-24 08:27:05
马屯在哪,马南屯阝这个很多人还不知道,现在让我们一起来看看吧!1、顾宪成的“风声雨声读书声。2、声声...
03-24 07:17:57
1、严凤英是著名的黄梅戏表演艺术家,她和黄梅戏表演艺术家王少舫在黄梅戏天仙配中,分别扮演七仙女和董...
03-24 03:19:33
“政策+活动”双轮驱动2023年上海促消费“放大招”---中新网上海3月23日电上海作为中国最大的消费城市,...
03-23 23:08:39
大家好,我是小城,专栏的编辑。现在我来为大家解答以上问题。很多小伙伴还是不会在AutoCAD里画三维室内...
03-23 21:03:29
随着时代的发展,现在越来越多人喜欢样宠物,尤其猫猫和狗狗,非常可爱,一些武汉的小伙伴在网上咨询武...
03-23 19:11:45
人民网北京3月22日电(尹星云)3月21日,由北京文化艺术基金资助项目吉祥戏院“感受戏曲之美吉祥艺术课...
03-23 19:10:08
国邦医药(605507)03月23日在投资者关系平台上答复了投资者关心的问题。
03-23 18:00:34
1、爻的本义是绳结。2、结绳记事时代,在一根绳索上分段打结,表示一定含义。3、以原始日冕观察日影变化...
03-23 16:45:40
博菲电气(001255)03月23日在投资者关系平台上答复了投资者关心的问题。
03-23 15:34:48
3月22日10时20分,内蒙古自治区气象台发布暴雪橙色预警:6小时内呼伦贝尔市北部部分降雪量将达10毫米以...
03-23 14:26:51
这不,IG战队在收官战中失利之后,就必须看其他队伍的联赛来寻求季后赛席位了;而另一边的TES虽然没有战...
03-23 13:00:35
1、关于母亲节的歌曲有如下几首:《听妈妈的话》——周杰伦;《烛光里的妈妈》——毛阿敏;《真的爱你》...
03-23 11:46:03
安徽送变电:聘任廉政监督员吹响监督“集结号”
03-23 11:07:55
再加息25点!无视银行破产,美联储放鹰,耶伦发言或击溃储户信心,科学家,瑞士央行,财政部长,国防部门,美...
03-23 10:06:09
3月23日,生意社冷轧板基准价为4837 50元 吨,与本月初(4765 00元 吨)相比,上涨了1 52%。冷轧板年度统计(2022-03-23--202
03-23 09:05:19
市水务局督导夹江县城乡供水一体化建设工作
03-23 06:07:39
1、将吃不完的生日蛋糕切成小块儿,分别装入几个保鲜盒中,放进冰箱的冷藏里,可以保存2至3天。2、生日...
03-23 01:52:52
此次疫情对全国多地都造成了影响,在首都北京出现疫情之后,就第一时间加强疫情防控措施了,但是依然有...
03-22 22:32:14
商品期货每日收评星期三行情综述3月22日,国内商品期市收盘涨跌
03-22 22:16:23
为进一步加强边境地区医疗卫生力量建设,广西积极落实边境地区基层医疗卫生人才队伍保障和激励政策。202...
03-22 20:04:16
1、2008年4月19日,夏河在北京一家夜店第一次遇见16岁的麦洛洛。2、2008年10月,两人第一次分手,起因据...
03-22 18:14:11
玩个锤子什么梗子什么意思句话非常火,不会玩你玩个锤子,没腿你玩个锤子等等成为了大众用语,那么这句...
03-22 17:36:35
方直科技(300235)03月22日在投资者关系平台上答复了投资者关心的问题。
03-22 16:54:09
又见“隔夜酒”侥幸心理不能有
03-22 15:07:44
1、不存在商业医疗保险哪种好,而是哪种更适合自己。2、 保险分财产保险、人寿保险和健康保险。3、 ...
03-22 13:52:28
自“东风系”引发降价浪潮开始,目前已经有数十个品牌参与价格战。近期,一汽-大众终端也发布了全系优惠...
03-22 11:00:38
1、【业力】业是造作、行为的意思,此造作、行为的“余势”对未来的影响,称为业力。2、业又有善、恶之...
03-22 09:58:09
小屏手机真凉了!苹果卖最差的iPhone14Plus出货量也远超13mini
03-22 07:05:41
1、第五魂环是唐三的爱人小舞,十万年魂兽献祭。2、唐三是天生的双生武魂,第一个武魂是继承了他母亲蓝...
03-22 02:51:52
1、晓峰居该项目由深圳观澜湖房地产开发有限公司开发,位于观澜湖最驻马店世界杯球场中央,物业形态为独...
03-21 22:57:26
1、《山园秋晚寄杜黄裳少府》是唐代诗人钱起创作的一首五言诗。本文到此分享完毕,希望对大家有所帮助。
03-21 20:05:23
中国核电3月21日公告,公司控股投资的三门核电有限公司浙江三门核电站4号机组计划于3月22日浇筑核岛第一...
03-21 17:56:24
最受关注的可能是由安吉唐韵影视文化投资有限公司(下称“唐韵影视”)开发的唐韵外景拍摄基地项目资产
03-21 16:03:50
当接线员询问起火位置等信息时,男子却顾左右而言他,最终在连番追问下,男子承认打电话是要“骚扰”
03-21 13:48:08
80万元工程款,为何4年多未结清?
03-21 11:24:30
原文链接GitHub项目地址Gitee项目地址本文介绍restTemplate基础用法
2023-03-25
徐峥脱口秀大会第二季第十期出现的,具体播出时间是2019年9月22日。这期正好是决赛,该期节目主题是笑是...
2023-03-24
App3月24日消息,近日,人民银行天津分行辅导民生金融租赁股份有限公司成功落地全国首单规模最大货运物...
2023-03-24
河南广电·大象新闻记者龚雪通讯员喻晶3月23日上午,潢川县赛恩小太阳幼儿园的相关负责人来到县政务服务...
2023-03-24
北京恢复常态化住房公积金缓缴政策,贷款,北京市,缓缴政策,住房公积金
2023-03-24
Copyright © 2015-2022 亚太纤维网版权所有 备案号:沪ICP备2020036824号-11 联系邮箱: 562 66 29@qq.com