From 98df1b76326afb757e05861ab958d1454d08874d Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 21 四月 2025 11:20:36 +0800
Subject: [PATCH] 注释完善

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/utils/RestTemplateUtils.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/utils/RestTemplateUtils.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/utils/RestTemplateUtils.java
new file mode 100644
index 0000000..31deb69
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/utils/RestTemplateUtils.java
@@ -0,0 +1,97 @@
+package com.dy.pipIrrRemote.utils;
+
+import com.alibaba.fastjson2.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.*;
+import org.springframework.stereotype.Component;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-05-07 17:07
+ * @LastEditTime 2024-05-07 17:07
+ * @Description
+ */
+@Component
+public class RestTemplateUtils {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    public JSONObject get(String url, Map<String, Object> queryParams) throws IOException {
+        return get(url, queryParams, new HashMap<>(1));
+    }
+
+    public JSONObject get(String url, Map<String, Object> queryParams, Map<String, String> headerParams) throws IOException {
+        String tempUrl = setParamsByAppendUrl(queryParams, url);
+        HttpHeaders headers = new HttpHeaders();
+        headerParams.forEach(headers::add);
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(null, headers);
+        ResponseEntity<String> response = restTemplate.exchange(tempUrl, HttpMethod.GET, httpEntity, String.class);
+        return JSONObject.parseObject(response.getBody());
+    }
+
+    public JSONObject get2(String url, Map<String, Object> queryParams, Map<String, String> headerParams) throws IOException {
+        String tempUrl = setParamsByPath(queryParams, url);
+        HttpHeaders headers = new HttpHeaders();
+        headerParams.forEach(headers::add);
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(null, headers);
+        ResponseEntity<String> response = restTemplate.exchange(tempUrl, HttpMethod.GET, httpEntity, String.class, queryParams);
+        return JSONObject.parseObject(response.getBody());
+    }
+
+    public JSONObject post(String url, String json, Map<String, String> headerParams) {
+        HttpHeaders headers = new HttpHeaders();
+        headerParams.forEach(headers::add);
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        headers.add("Accept", MediaType.APPLICATION_JSON.toString());
+        HttpEntity<String> httpEntity = new HttpEntity<>(json, headers);
+        ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
+        return JSONObject.parseObject(response.getBody());
+    }
+
+    private String setParamsByPath(Map<String, Object> queryParams, String url) {
+        // url?id={id}&name={name}
+        if (queryParams == null || queryParams.isEmpty()) {
+            return url;
+        }
+        StringBuilder sb = new StringBuilder();
+        try {
+            for (Map.Entry<String, Object> entry : queryParams.entrySet()) {
+                sb.append("&").append(entry.getKey()).append("=").append("{").append(entry.getKey()).append("}");
+            }
+            if (!url.contains("?")) {
+                sb.deleteCharAt(0).insert(0, "?");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return url + sb;
+    }
+
+    private String setParamsByAppendUrl(Map<String, Object> queryParams, String url) {
+        // url?id=1&name=zzc
+        if (queryParams == null || queryParams.isEmpty()) {
+            return url;
+        }
+        StringBuilder sb = new StringBuilder();
+        try {
+            for (Map.Entry<String, Object> entry : queryParams.entrySet()) {
+                sb.append("&").append(entry.getKey()).append("=");
+                sb.append(entry.getValue());
+            }
+            if (!url.contains("?")) {
+                sb.deleteCharAt(0).insert(0, "?");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return url + sb;
+    }
+
+}

--
Gitblit v1.8.0