HttpClient调用第三方接口
pom依赖
<!-- httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency>
httpClient工具类
package com.bonc.ygjq.bd.platform.utils;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.net.URI;
import java.util.Map;
@Component
public class HttpClientUtil {
public static String doGet(String url, Map<String, String> param) {
String result = null;
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response = null;
try {
URIBuilder builder = new URIBuilder(url);
if (param != null) {
for (String key : param.keySet()) {
builder.addParameter(key, param.get(key));
}
}
URI uri = builder.build();
HttpGet httpGet = new HttpGet(uri);
response = httpclient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(response.getEntity(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
public static String doGet(String url) {
return doGet(url, null);
}
}
java代码测试类
@Test
@Transactional(readOnly = false)
public void addUser() throws JsonProcessingException {
String key = "xxxxxxxx";
String url = "http://op.juhe.cn/onebox/exchange/query" + "?key=" + key;
String result = HttpClientUtil.doGet(url);
ObjectMapper mapper = new ObjectMapper();
Map map = mapper.readValue(result, Map.class);
System.out.println("map"+map);
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()){
Object key1 = iterator.next();
Object value = map.get(key1);
System.out.println("key:"+key1+" value:"+value);
}
}
输出
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201205111237501.png)