1.java实现调用http请求的几种常见方式 (四种参考地址)
2.java调用http接口的几种方式总结 (三种方式参考地址)
2.1.HttpURLConnection (HttpURLConnection 参考地址)
2.1.1简介
2.1.2 GET方式调用
2.1.2 POST方式调用
2.2:HttpClient (HttpClient 参考地址)
2.2.1简介
2.2.2 GET方式调用
2.3.3 POST方式调用
2.3:Spring RestTemplate
1.先创建bean
@Component
public class RestTemplate {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
}
/* 1、 调用postForObject方法 2、使用postForEntity方法 3、调用exchange方法
postForObject和postForEntity方法的区别主要在于可以在postForEntity方法中设置header的属性,当需要指定header的属性值的时候,使用postForEntity方法。exchange方法和postForEntity类似,但是更灵活,exchange还可以调用get请求。使用这三种方法传递参数,Map不能定义为以下两种类型
Map<String, Object> paramMap = new HashMap<String, Object>();
Map<String, Object> paramMap = new LinkedHashMap<String, Object>();
把Map类型换成LinkedMultiValueMap后,参数成功传递到后台
*/
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
// 调用方法,设置请求参数
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("dt", "20190225");
// 1、使用postForObject请求接口
String result = template.postForObject(url, paramMap, String.class);
// 2、使用postForEntity请求接口
// 设置请求header头
HttpHeaders headers = new HttpHeaders();
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap,headers);
ResponseEntity<String> response2 = template.postForEntity(url, httpEntity, String.class);
// 3、使用exchange请求接口
ResponseEntity<String> response3 = template.exchange(url, HttpMethod.POST, httpEntity, String.class);
2.3.1简介
2.3.2 GET方式调用
2.3.3 POST方式调用