1、maven: <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
2、@Configurationpublic class RestTemplateConfig { @Bean public RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true; SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom() .loadTrustMaterial(null, acceptingTrustStrategy) .build(); SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext); CloseableHttpClient httpClient = HttpClients.custom() .setSSLSocketFactory(csf) .build(); HttpComponentsClientHttpRequestFactory requestFactory =new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(httpClient); RestTemplate restTemplate = new RestTemplate(requestFactory);return restTemplate; }}
测试:
public String getData() { //接口地址 String url = "https://free-api.heweather.com/v5/forecast?city=CN101080101&key=5c043b56de9f4371b0c7f8bee8f5b75e"; Mapparams = new HashMap<>(); params.put("start_time", "20180824"); params.put("end_time", "20180827"); // RestTemplate restTemplate = new RestTemplate();//此处直接autowire即可,不用new HttpEntity httpEntity = new HttpEntity(params, null); ResponseEntity request = restTemplate.postForEntity(url, httpEntity, String.class); return request.getBody().toString(); }