Okhttp通用工具类

import cn.hutool.json.JSONUtil; import okhttp3.*; import java.io.IOException; import java.util.Map; /** * @ClassName OkHttpUtils * @description: http客户端远程调用通用工具类 * @author: chenlf * @Version 1.0 **/ public class OkHttpUtils { private static OkHttpClient client = new OkHttpClient(); public static String execute(String url, String method, RequestBody requestBody, Map<String, String> headers){ Request.Builder requestBuilder = new Request.Builder() .url(url) .method(method, requestBody); if (headers != null && !headers.isEmpty()) { for (Map.Entry<String, String> entry : headers.entrySet()) { requestBuilder.addHeader(entry.getKey(), entry.getValue()); } } try (Response response = client.newCall(requestBuilder.build()).execute()) { if (!response.isSuccessful()) throw new IOException("远程调用接口失败:" + response); return response.body().string(); } catch (IOException e) { throw new RuntimeException(e); } } public static String doGet(String url){ return execute(url, "GET", null, null); } public static String doGet(String url, Map<String, String> headers){ return execute(url, "GET", null, headers); } public static String doPost(String url, String jsonBody){ RequestBody body = RequestBody.create(MediaType.parse("application/json"), JSONUtil.toJsonStr(jsonBody)); return execute(url, "POST", body, null); } public static String doPost(String url, RequestBody body){ return execute(url, "POST", body, null); } public static String doPost(String url, String jsonBody, Map<String, String> headers){ RequestBody body = RequestBody.create(MediaType.parse("application/json"), JSONUtil.toJsonStr(jsonBody)); return execute(url, "POST", body, headers); } public static String doPost(String url, RequestBody body, Map<String, String> headers){ return execute(url, "POST", body, headers); } }
上一篇:Leetcode:电话号码的字母组合


下一篇:ARM32开发——GD32F4串口引脚和复用功能查询