RestTemplate post请求方式主要分为下面几种:
一、postForObject
RestTemplate template = new RestTemplate();
String url = "http://localhost/test";
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("name", "xxx");
Map respnose = template.postForObject(url, paramMap, Map.class);
Assert.assertNotNull(respnose);
二、postForEntity
RestTemplate template = new RestTemplate();
String url = "http://localhost/test";
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("name", "xxx");
HttpHeaders headers = new HttpHeaders();
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap,headers);
ResponseEntity<Map> response2 = template.postForEntity(url, httpEntity, Map.class);
Assert.assertEquals(getStatusCode,200);
三、exchange
RestTemplate template = new RestTemplate();
String url = "http://localhost/test";
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("name", "xxx");
ResponseEntity<Map> response3 = template.exchange(url, HttpMethod.POST, httpEntity, Map.class);
Assert.assertEquals(getStatusCode,200);