Spring的RestTemplate功能举例
import com.google.common.collect.Maps; import com.shein.dms.common.BasicCase; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.web.client.RestTemplate; import org.testng.annotations.Test; import java.util.HashMap; /** * @author :gongxr * @description:测试RestTemplate 参考文档:https://github.com/itguang/springcloud-learn/tree/master/resttemplate-test */ @Slf4j public class TestRestTemplate extends BasicCase { public String urlPath = "http://www.baidu.com"; @Autowired RestTemplate restTemplate; UserEntity userEntity; @Test public void testGet() { ResponseEntity<String> responseEntity = restTemplate.getForEntity(urlPath, String.class); log.info(responseEntity.getBody()); // 有参数的GET方法 HashMap<String, String> map = new HashMap<>(); map.put("id", "aaa"); ResponseEntity<UserEntity> responseEntity2 = restTemplate.getForEntity("http://localhost/get/id={id}", UserEntity.class, map); UserEntity userEntity = responseEntity2.getBody(); } @Test public void testGet2() throws Exception { String url = sysConfig.getDmsUrl() + "/dms/presets/logs?id=4486"; // 消息头 HttpHeaders headers = new HttpHeaders(); headers.add("cookie", commonService.getDmsCookie2("关健")); // 消息体 HashMap<String, Object> bodyMap = Maps.newHashMap(); HttpEntity httpEntity = new HttpEntity(bodyMap, headers); // 发送请求 ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class); log.info("请求地址:{}", url); log.info("消息头:{}", headers.toString()); log.info("请求消息体:{}", httpEntity.getBody().toString()); log.info("响应消息:{}", responseEntity.getBody()); } @Test public void testPostDemo() throws Exception { String url = sysConfig.getDmsUrl() + "/dms/vmiAutoOrderSupplier/list"; // 消息头 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.add("cookie", commonService.getDmsCookie2("关健")); // 消息体 HashMap<String, Object> bodyMap = Maps.newHashMap(); bodyMap.put("title", ""); bodyMap.put("pageNumber", 1); bodyMap.put("pageSize", 3); HttpEntity httpEntity = new HttpEntity(bodyMap, headers); // 发送请求 ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class); log.info("请求地址:{}", url); log.info("消息头:{}", headers.toString()); log.info("请求消息体:{}", httpEntity.getBody().toString()); log.info("响应消息:{}", responseEntity.getBody()); } @Data protected class UserEntity { private String name; private int age; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架