【资料图】
原文链接
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基础用法
直播是时下最为火爆的行业,但直播圈的环境也随着人们的涌入变得愈加病态疯狂。有装疯卖傻的、有扮丑审丑的、有抽象非主流的、有擦边软涩情的
日前,中国科学院心理研究所、社会科学文献出版社联合发布我国第三本心理健康蓝皮书。睡眠与心理健康的关系显示,睡眠质量较好的学生的抑郁和
挚友英文怎么说,挚友英文是什么很多人还不知道,现在让我们一起来看看吧!1、bosomfriend或bestoffriends或closefriends或
1、采用同样GPU的不同品牌显卡主要性能差别不大。2、就显卡品牌来说,华硕、技嘉和微星当属国内排名前三的一线品牌,其显卡
为什么有钱人偏爱买房而不是炒股?,炒股,买房,股市,股票
1、《东江时报》是由惠州日报社主管主办、主要面向广东省惠州市发行的都市报。2、于2006年11月28日试刊,2007年元
约1 7亿年前的“花”被发现!名字很美丽看看你认识吗?
公司简介临澧冀东水泥有限公司建设规模为1×4500T D新型干法水泥熟料生产线带纯低温余热发电系统,年产熟料150万吨,年产水泥200万吨,年处置危
宁德时代召开了2022年年度业绩网上说明会,宁德时代董事长、总经理曾毓群在会上对行业部分热点话题进行了回应,同时也爆了不少猛料
最近抖音上面有很多关于光剑变装视频火了,而且还有一些挑战引起不少网友们参与。抖音14分钟光剑变装视频是什么梗?最近有关14分钟光剑变装视
一、题文如图所示,在三角形ABC中,D为BC的中点,CE=AE,AD和BE相交于F点,已知三角形ABC的面积为42平方厘
在国内B级车市场中,大众帕萨特、迈腾以及本田雅阁、丰田凯美瑞,可谓是诸多消费者重点考虑的车型。出自主流品牌,知名度认可度高成为了它们的
买入!不断买入,加仓,补仓,基金
1、歌词:每个人都有无法忘记的人思念会像细沙穿过你的灵魂轻轻开了门只有风雨声我觉得爱情让人变得残忍原本相爱的人变成心头的针越是爱的真越
2023年海口骑楼艺术游乐汇主题月活动圆满收官
1、歌谱如下图:歌词是:太阳当空照花儿对我笑小鸟说早早早你为什么背上小书包我去上学校天天不迟到爱学习爱劳动长大要为人民立
如果让你把哈兰德比作一种动物,你会想到什么?狮子?鲨鱼?不管怎么说,肯定应该是某种强大的捕食者对吧?但有没有一种可能,他的风格更像猫
销售图书的渠道主要有以下几种:1、各地大型图书馆,一般有借阅室和销售专柜等;2、各大图书销售型网站,比如当当网、亚马逊等网站,就是专门
中国(北京)高新视听产业园版权工作站揭牌仪式24日在北京经济技术开发区举行。陈建摄中新网北京3月25日电(郑云陈建)中国(北京)高新视听产业园
继4比1战胜海湾U19队后,国少又以3比0完胜福尔森西班牙人U19队,取得本次迪拜拉练的第2场胜利。2天后,国少再接再厉,凭借王钰栋、王昊斌、钱
“民以食为天”,这是中华民族古老的传统。因此,在我国的任何一个城市,甚至是小小的县城,基本都有自己独特的美食和饮食文化。如果要说中...
莫泊桑《项链》主旨:通过玛蒂尔德追求奢华而遭受的不幸来讽刺小资产阶级的虚荣心,同时谴责了资本主义社会不良的价值观。《项链》是一篇短篇小
今年以来,禅城消费市场全面复苏,各大商圈烟火气升腾。不过,和以前相比,人们的消费理念、消费行为和生活方式都发生了不少改变。新变化催生
截至2023年3月24日收盘,海源复材(002529)报收于16 1元,上涨1 96%,换手率1 78%,成交量4 63万手,成交额7407 92万元。
中证网讯(记者黄一灵)3月24日晚,中国平安公告称,公司2023年度长期服务计划于2023年3月16日至2023年3月23日通过二级市场完成购股,共购得本公
格隆汇3月25日丨硕世生物发布2020年年度报告,实现营业收入17 40亿元,同比增长502 39%;归属于母公司的净利润8 20亿元,同比增长878 52%;归
一项新的研究表明,尽管珊瑚具有天然的适应能力,但即使是温和的全球变暖也可能看到我们的珊瑚礁遭到破坏。来自惠灵顿维多利亚大
润丰股份:东北证券股份有限公司关于山东潍坊润丰化工股份有限公司2022年度募集资金存放与使用情况的专项核查报告
1、招生技巧介绍法:是用学校综合实力来宣传学校的一种招生方法和招生技巧,例如将学校的管理、教学质量等实情向生源阐明,介绍法是招生宣传最
Copyright © 2015-2022 华中服装网版权所有 备案号:京ICP备12018864号-26 联系邮箱:2 913 236 @qq.com