liusuyi
2026-05-18 b5cd784d0cde5b7c82ea78aef4ac0e5a161d8c5d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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;
    }
}