From ab849f796bdc17236a95ea5fe5c166fb8f24a75c Mon Sep 17 00:00:00 2001
From: sws <15810472099@163.com>
Date: 星期六, 26 十一月 2022 16:12:02 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/RestHelper.java |  254 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 254 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/RestHelper.java b/src/main/java/com/lf/server/helper/RestHelper.java
new file mode 100644
index 0000000..dfd48d8
--- /dev/null
+++ b/src/main/java/com/lf/server/helper/RestHelper.java
@@ -0,0 +1,254 @@
+package com.lf.server.helper;
+
+import com.lf.server.entity.all.StaticData;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Rest鏈嶅姟甯姪绫�
+ * @author WWW
+ */
+public class RestHelper {
+    private static RestTemplate restTemplate;
+
+    private final static Log log = LogFactory.getLog(RestHelper.class);
+
+    /**
+     * 鑾峰彇RestTemplate
+     *
+     * @return RestTemplate
+     */
+    public static RestTemplate getRestTemplate() {
+        if (restTemplate == null) {
+            restTemplate = SpringContextHelper.getBean(RestTemplate.class);
+        }
+
+        return restTemplate;
+    }
+
+    /**
+     * Get璇锋眰-HttpURLConnection
+     *
+     * @param url URL鍦板潃
+     * @return 瀛楃涓�
+     * @throws IOException IO寮傚父
+     */
+    public static String getForConn(String url) throws IOException {
+        BufferedReader br = null;
+        HttpURLConnection conn = null;
+
+        try {
+            URL restUrl = new URL(url);
+
+            conn = (HttpURLConnection) restUrl.openConnection();
+            // POST,GET,PUT,DELETE
+            conn.setRequestMethod("GET");
+            conn.setRequestProperty("Accept", "application/json");
+
+            br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+
+            String line;
+            StringBuilder sb = new StringBuilder();
+            while ((line = br.readLine()) != null) {
+                sb.append(line);
+            }
+
+            return sb.toString();
+        } finally {
+            if (br != null) {
+                br.close();
+            }
+            if (conn != null) {
+                conn.disconnect();
+            }
+        }
+    }
+
+    /**
+     * Post璇锋眰-HttpURLConnection
+     *
+     * @param url   URL鍦板潃
+     * @param query 鏌ヨ鏉′欢
+     * @return 瀛楃涓�
+     * @throws IOException IO寮傚父
+     */
+    public static String postForConn(String url, String query) throws IOException {
+        BufferedReader br = null;
+        HttpURLConnection conn = null;
+
+        try {
+            URL restUrl = new URL(url);
+
+            conn = (HttpURLConnection) restUrl.openConnection();
+            // POST,GET,PUT,DELETE
+            conn.setRequestMethod("POST");
+            conn.setRequestProperty("Content-Type", "application/json");
+            conn.setDoOutput(true);
+
+            PrintStream ps = new PrintStream(conn.getOutputStream());
+            ps.print(query);
+            ps.close();
+
+            // OutputStream out = conn.getOutputStream()
+            // out.write(query.getBytes())
+            // out.close()
+
+            br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+
+            String line;
+            StringBuilder sb = new StringBuilder();
+            while ((line = br.readLine()) != null) {
+                sb.append(line);
+            }
+
+            return sb.toString();
+        } finally {
+            if (br != null) {
+                br.close();
+            }
+            if (conn != null) {
+                conn.disconnect();
+            }
+        }
+    }
+
+    /**
+     * Get璇锋眰-CloseableHttpClient
+     *
+     * @param uri Uri鍦板潃
+     * @return 鍝嶅簲瀛楃涓�
+     */
+    public static String get(String uri) {
+        try {
+            CloseableHttpClient httpClient = HttpClients.custom().build();
+
+            HttpGet httpGet = new HttpGet(uri);
+
+            CloseableHttpResponse closeResponse = httpClient.execute(httpGet);
+            // 鍙栧嚭杩斿洖浣�
+            HttpEntity entity = closeResponse.getEntity();
+
+            return EntityUtils.toString(entity, StaticData.TEXT_ENCODER);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+
+            return getErrorInfo(uri, ex);
+        }
+    }
+
+    /**
+     * Post璇锋眰-CloseableHttpClient
+     *
+     * @param uri      Uri鍦板潃
+     * @param postData 寰呭彂閫佹暟鎹�
+     * @return 鍝嶅簲瀛楃涓�
+     */
+    public static String post(String uri, List<NameValuePair> postData) {
+        try {
+            CloseableHttpClient httpClient = HttpClients.custom().build();
+
+            UrlEncodedFormEntity postEntity = new UrlEncodedFormEntity(postData, StaticData.TEXT_ENCODER);
+            HttpPost httpPost = new HttpPost(uri);
+            httpPost.setEntity(postEntity);
+
+            CloseableHttpResponse closeResponse = httpClient.execute(httpPost);
+
+            // 鍙栧嚭杩斿洖浣�
+            HttpEntity entity = closeResponse.getEntity();
+
+            return EntityUtils.toString(entity, StaticData.TEXT_ENCODER);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+
+            return getErrorInfo(uri, ex);
+        }
+    }
+
+    /**
+     * Get璇锋眰-RestTemplate
+     *
+     * @param uri Uri鍦板潃
+     * @return 鍝嶅簲瀛楃涓�
+     */
+    public static String getForRest(String uri) {
+        try {
+            RestTemplate rest = getRestTemplate();
+
+            return rest.getForObject(uri, String.class);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+
+            return getErrorInfo(uri, ex);
+        }
+    }
+
+    /**
+     * Post璇锋眰-RestTemplate
+     *
+     * @param uri      Uri鍦板潃
+     * @param postData 寰呭彂閫佹暟鎹�
+     * @return 鍝嶅簲瀛楃涓�
+     */
+    public static String postForRest(String uri, List<NameValuePair> postData) {
+        try {
+            RestTemplate rest = getRestTemplate();
+            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postData, StaticData.TEXT_ENCODER);
+
+            return rest.postForObject(uri, entity, String.class);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+
+            return getErrorInfo(uri, ex);
+        }
+    }
+
+    public static String postForRest(String uri, Map<String, Object> map) {
+        try {
+            RestTemplate rest = getRestTemplate();
+
+            return rest.postForObject(uri, map, String.class);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+
+            return getErrorInfo(uri, ex);
+        }
+    }
+
+    /**
+     * 鑾峰彇閿欒淇℃伅
+     *
+     * @param uri Uri鍦板潃
+     * @param ex  寮傚父
+     * @return 閿欒淇℃伅
+     */
+    public static String getErrorInfo(String uri, Exception ex) {
+        Map<String, Object> map = new LinkedHashMap<>();
+        map.put("result", null);
+        map.put("message", ex.getMessage());
+        map.put("code", 400);
+        map.put("uri", uri);
+        //map.put("tag", StaticData.CACHE_PREFIX)
+
+        return map.toString();
+    }
+}

--
Gitblit v1.9.3