记一次调用http协议接口的实现方法
package cn.stylefeng.guns.cloud.libs.util;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
/**
* http请求调用专用类
* @Date 2020-11-07 23:12
*/
@Slf4j
public class HttpApiUtil {
public static String get(String uri, Map params,Map<String,String> headers) {
try {
// URL url = new URL(uri + "/test1?code=001&name=测试");
String urlParams = getStringAtomicReferenceUrl(params);
URL url = new URL(uri + "?" + urlParams);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true); // 设置该连接是可以输出的
connection.setRequestMethod("GET"); // 设置请求方式
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
if(headers != null && headers.size()>0){
headers.forEach(connection::setRequestProperty);
}
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(),