package com.ard.work.health.util;
|
|
import com.alibaba.fastjson.JSON;
|
import com.ard.common.core.utils.StringUtils;
|
import okhttp3.FormBody;
|
import okhttp3.Headers;
|
import okhttp3.OkHttpClient;
|
import okhttp3.Request;
|
import okhttp3.Response;
|
import okhttp3.ResponseBody;
|
|
import java.io.IOException;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class OkhttpUtils {
|
/**
|
* @描述 okhttp get请求
|
* @参数 [url, params, headersParams]
|
* @返回值 java.util.Map<java.lang.String,java.lang.Object>
|
* @创建人 刘苏义
|
* @创建时间 2023/5/6 15:19
|
* @修改人和其它信息
|
*/
|
public static Map<String, Object> getAllAlarmData(String url, Map<String, Object> params, Map<String, Object> headersParams) {
|
OkHttpClient okHttpClient = new OkHttpClient();
|
url += setParams(params);
|
Request request = new Request.Builder().headers(setHeaders(headersParams)).url(url).build();
|
Response response = null;
|
try {
|
response = okHttpClient.newCall(request).execute();
|
} catch (IOException e1) {
|
e1.printStackTrace();
|
}
|
ResponseBody responseBody = response.body();
|
try {
|
//剔除所有\符号
|
String message = responseBody.string().replaceAll("\\\\", "");
|
//剔除整个字符串首尾双引号
|
if (message.startsWith("\"")) {
|
message = message.substring(1, message.length());
|
}
|
if (message.endsWith("\"")) {
|
message = message.substring(0, message.length() - 1);
|
}
|
Map<String, Object> result = (Map<String, Object>) JSON.parse(message);
|
return result;
|
} catch (IOException e) {
|
e.printStackTrace();
|
return new HashMap();
|
}
|
}
|
/**
|
* @描述 okhttp post请求
|
* @参数 [url, body, headersParams]
|
* @返回值 java.util.Map<java.lang.String,java.lang.Object>
|
* @创建人 刘苏义
|
* @创建时间 2023/5/6 15:19
|
* @修改人和其它信息
|
*/
|
public static Map<String, Object> postAllAlarmData(String url, Map<String, String> body, Map<String, Object> headersParams) {
|
|
OkHttpClient okHttpClient = new OkHttpClient();
|
FormBody.Builder builder = new FormBody.Builder();
|
for (Map.Entry<String, String> entry : body.entrySet()) {
|
builder.add(entry.getKey(), entry.getValue());
|
}
|
FormBody formBody = builder.build();
|
Request request = new Request.Builder().post(formBody).headers(setHeaders(headersParams)).url(url).build();
|
Response response = null;
|
try {
|
response = okHttpClient.newCall(request).execute();
|
} catch (IOException e1) {
|
e1.printStackTrace();
|
}
|
ResponseBody responseBody = response.body();
|
try {
|
//剔除所有\符号
|
String message = responseBody.string().replaceAll("\\\\", "");
|
//剔除整个字符串首尾双引号
|
if (message.startsWith("\"")) {
|
message = message.substring(1, message.length());
|
}
|
if (message.endsWith("\"")) {
|
message = message.substring(0, message.length() - 1);
|
}
|
Map<String, Object> result = (Map<String, Object>) JSON.parse(message);
|
return result;
|
} catch (IOException e) {
|
e.printStackTrace();
|
return new HashMap();
|
}
|
}
|
/**
|
* 设置参数
|
*
|
* @param params
|
* @return
|
*/
|
public static String setParams(Map<String, Object> params) {
|
StringBuffer sb = new StringBuffer("?");
|
if (StringUtils.isNotEmpty(params)) {
|
for (Map.Entry<String, Object> item : params.entrySet()) {
|
Object value = item.getValue();
|
if (StringUtils.isNotNull(value)) {
|
sb.append("&");
|
sb.append(item.getKey());
|
sb.append("=");
|
sb.append(value);
|
}
|
}
|
return sb.toString();
|
} else {
|
return "";
|
}
|
}
|
/**
|
* 设置Header头
|
*
|
* @param headersParams
|
* @return
|
*/
|
private static Headers setHeaders(Map<String, Object> headersParams) {
|
Headers headers = null;
|
Headers.Builder headerBuilder = new Headers.Builder();
|
if (headersParams != null) {
|
for (String key : headersParams.keySet()) {
|
headerBuilder.add(key, headersParams.get(key).toString());
|
}
|
}
|
headers = headerBuilder.build();
|
|
return headers;
|
}
|
}
|