Java httpUtil工具类
public class HttpUtil {
/**
* post请求TB
* @param head 请求头
* @param body 请求体
* @param url 请求路径
*/
@SneakyThrows
public static JSONObject httpPost(Map<String,String> head, Map<String,Object> body,String url){
//将body,键值对转换成JSON对象,如果访问调用的接口不需要JSON,可以使用如下add()添加键值对。
// RequestBody requestBody = new ().add()
RequestBody requestBody =
RequestBody.create(MediaType.parse("application/json; charset=utf-8"),new JSONObject(body).toString());
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url(url)
.headers(Headers.of(head))
.method("POST", requestBody)
.build();
Response response = client.newCall(request).execute();
JSONObject jsonObject = (JSONObject)JSONObject.parse(response.body().string());
return jsonObject;
}
/**
* get请求TB
* @param head 请求头
* @param url 请求路径
*/
@SneakyThrows
public static JSONObject httpGet(Map<String,String> head,String url){
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url(url)
.headers(Headers.of(head))
.method("GET", null)
.build();
Response response = client.newCall(request).execute();
JSONObject jsonObject = (JSONObject)JSONObject.parse(response.body().string());
return jsonObject;
}
/**
*
* @param url 请求的接口地址
* @param params 入参map
* @return 如果是get请求,路径需要拼接查询参数,可通过如下方法拼接
*/
public static String getUrl(String url, Map<String, ?> params){
StringBuilder paramSplice = new StringBuilder();
paramSplice.append(url).append("?");
params.forEach((key, value) -> paramSplice.append(key).append("=").append(value).append("&"));
return paramSplice.toString();
}
}