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 responseEntity = restTemplate.getForEntity(urlPath, String.class);
log.info(responseEntity.getBody());
// 有参数的GET方法
HashMap map = new HashMap<>();
map.put("id", "aaa");
ResponseEntity 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 bodyMap = Maps.newHashMap();
HttpEntity httpEntity = new HttpEntity(bodyMap, headers);
// 发送请求
ResponseEntity 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 bodyMap = Maps.newHashMap();
bodyMap.put("title", "");
bodyMap.put("pageNumber", 1);
bodyMap.put("pageSize", 3);
HttpEntity httpEntity = new HttpEntity(bodyMap, headers);
// 发送请求
ResponseEntity 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;
}
}
Original: https://www.cnblogs.com/gongxr/p/16360970.html
Author: 星瑞
Title: Spring的RestTemplate功能举例
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541502/
转载文章受原作者版权保护。转载请注明原作者出处!