get 请求
public void doHttpGet(){
RestTemplate restTemplate = new RestTemplate();
/**解决响应数据可能乱码的问题*/
List<HttpMessageConverter<?>> converterList = restTemplate.getMessageConverters();
converterList.remove(1); /*移除原来的转换器*/
HttpMessageConverter<?> converter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
converterList.add(1,converter); /*添加新的转换器*/
restTemplate.setMessageConverters(converterList);
HttpHeaders httpHeaders = new HttpHeaders(); /*HttpHeaders实现了MultiValueMap接口*/
httpHeaders.set("nike","Just do it");
String httpBody = null;
HttpEntity<String> httpEntity = new HttpEntity<>(httpBody,httpHeaders);
StringBuffer paramsURL = new StringBuffer("http://127.0.0.1:8085/demo/hello");
URI uri = URI.create(paramsURL.toString());
ResponseEntity<String> response = restTemplate.exchange(uri,HttpMethod.GET,httpEntity,String.class);
System.err.println(response.getStatusCode());
}
Post请求
public void doHttpPost(){
RestTemplate restTemplate = new RestTemplate();
String httpBody = "hello world";
HttpEntity<String> request = new HttpEntity<String>(httpBody);
String url = "http://127.0.0.1:8085/demo/hello";
URI uri = URI.create(url);
ResponseEntity<String> response = restTemplate.postForEntity(uri,request,String.class);
System.out.println(response.getStatusCode());
System.out.println(response.getBody());
}
```
说明:get请求也可以用post请求的方式写。