大连将30个中风险地区调整为低风...
大连将30个中风险地区调整为低风险地区 ...
(资料图片仅供参考)
原文链接
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基础用法
腾讯云 2023-03-27网贷申请延期还款需要什么资料?申请延期还款需要贷款人准备个人身份
时刻网 2023-03-27近日,北京市医疗保障局会同市卫生健康委、市人力社保局出台《关于开展全市口腔种植医疗服务收费和耗材价格专项治理工作的通知》
光明网 2023-03-271、樊京生,1965年10月生,毕业于华北电力大学。2、先后就职于北京电力设备总厂、北京科锐科技公司、北京合纵科技发
互联网 2023-03-27中国网财经3月27日讯(记者郭伟莹)近日,北京产权交易所显示,幸福人寿保险股份有限公司(以下简称“幸福人寿”)三笔股权,共计约4 66亿股股权第
中国网财经 2023-03-27原标题:宁河区文艺爱好者创作编排演出(引题) 话剧《氢弹之父──于敏》精彩上演(主题)天津日报讯(记者张帆刘雅丽)昨天,由市委市级机
天津日报 2023-03-273月21日晚间,合富中国(603122 SH)披露年报,公司2022年实现营业总收入12 8亿元,同比增长7 44%;实现归母净利润8272万元,同比增长3 1
银柿财经 2023-03-27原文链接GitHub项目地址Gitee项目地址本文介绍restTemplate基础用法
腾讯云 2023-03-27网贷申请延期还款需要什么资料?申请延期还款需要贷款人准备个人身份
时刻网 2023-03-27近日,北京市医疗保障局会同市卫生健康委、市人力社保局出台《关于开展全市口腔种植医疗服务收费和耗材价格专项治理工作的通知》
光明网 2023-03-271、樊京生,1965年10月生,毕业于华北电力大学。2、先后就职于北京电力设备总厂、北京科锐科技公司、北京合纵科技发
互联网 2023-03-27中国网财经3月27日讯(记者郭伟莹)近日,北京产权交易所显示,幸福人寿保险股份有限公司(以下简称“幸福人寿”)三笔股权,共计约4 66亿股股权第
中国网财经 2023-03-27原标题:宁河区文艺爱好者创作编排演出(引题) 话剧《氢弹之父──于敏》精彩上演(主题)天津日报讯(记者张帆刘雅丽)昨天,由市委市级机
天津日报 2023-03-273月21日晚间,合富中国(603122 SH)披露年报,公司2022年实现营业总收入12 8亿元,同比增长7 44%;实现归母净利润8272万元,同比增长3 1
银柿财经 2023-03-27大连将30个中风险地区调整为低风险地区 ...
中新网成都11月22日电 (记者 刘忠俊)四...
(北京冬奥会)北京规划超270公里冬奥道路网...
中新网杭州11月22日电(郭其钰 张益聪)“...
中新网北京11月22日电 (记者 杜燕)今天...
利扬芯片: 第三届董事会第十七次会议决议公告
力合科创董秘回复:力合云记的自消杀抗病毒功能材料目前有“水性自消杀成膜剂”和“自消杀抗病毒薄膜”两类产品 每日信息
山西长子“羊倌”养羊20余年 带动700余户养殖户发“羊财”
上海首个“两山”实践创新基地成功创建
广西医科大一附院向越南捐赠医疗防疫物资
Copyright 2015-2023 华夏仓储网版权所有 备案号:琼ICP备2022009675号-37 联系邮箱:435 227 67@qq.com