Browse Source

完善httpTemplete模板类

zhuoning 3 years ago
parent
commit
217b700957

+ 4 - 4
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/impl/AutoGetErpDataImpl.java

@@ -428,7 +428,7 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         log.info("超时参数="+timeoutMap.toString());
         log.info("开始取数="+new Date(System.currentTimeMillis()));
         //
-        JSONObject outJo = httpClientUtil.get(url,paramsMap,timeoutMap);
+        JSONObject outJo = httpClientUtil.doGet(url,paramsMap,timeoutMap);
         log.info("返回结果="+outJo);
         log.info("完成取数="+new Date(System.currentTimeMillis()));
         if(outJo.getBoolean("status")){
@@ -472,7 +472,7 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         timeoutMap.put("socketTimeout", 5000);
         String url = apiIp + apiPort +"/token/getToken";
         //
-        JSONObject outJo = httpClientUtil.get(url,paramsMap,timeoutMap);
+        JSONObject outJo = httpClientUtil.doGet(url,paramsMap,timeoutMap);
         if(outJo.getBoolean("status")){
             return outJo.getJSONObject("content").getString("accessToken");
         }else{
@@ -496,7 +496,7 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         log.info("超时参数="+timeoutMap.toString());
         log.info("开始取数="+new Date(System.currentTimeMillis()));
         //
-        JSONObject outJo = httpClientUtil.get(url,paramsMap,timeoutMap);
+        JSONObject outJo = httpClientUtil.doGet(url,paramsMap,timeoutMap);
         log.info("返回结果="+outJo);
         log.info("结束取数="+new Date(System.currentTimeMillis()));
         if(outJo.getBoolean("status")){
@@ -535,7 +535,7 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         log.info("超时参数="+timeoutMap.toString());
         log.info("开始取数="+new Date(System.currentTimeMillis()));
         //
-        JSONObject outJo = httpClientUtil.get(url,paramsMap,timeoutMap);
+        JSONObject outJo = httpClientUtil.doGet(url,paramsMap,timeoutMap);
         log.info("返回结果="+outJo);
         log.info("结束取数="+new Date(System.currentTimeMillis()));
         if(outJo.getBoolean("status")){

+ 35 - 10
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/utils/HttpTemplete.java

@@ -37,7 +37,17 @@ public class HttpTemplete {
 //        client.testGetRequest2();
 //    }
 
-    public JSONObject post(String url, Map<String, String> paramsMap, Map<String, Integer> timeoutMap) throws IOException {
+    /**
+     * @Method      : doPost
+     * @Description : post方式推送接口
+     * @Params      : [url, paramsMap, timeoutMap]
+     * @Return      : com.alibaba.fastjson.JSONObject
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/11/19       
+     * @Time        : 14:55
+     */
+    public JSONObject doPost(String url, Map<String, String> paramsMap, Map<String, Integer> timeoutMap) throws IOException {
         // 创建默认的httpClient实例.
         CloseableHttpClient httpClient = getHttpClientConnection();
         //
@@ -87,22 +97,27 @@ public class HttpTemplete {
                 return resultJo;
             }
         } finally {
-            response.close();
-            httpClient.close();
+            //释放资源
+            if (response != null) {
+                response.close();
+            }
+            if (httpClient != null) {
+                httpClient.close();
+            }
         }
     }
 
 
     /**
-     * @Method : get
-     * @Description :
+     * @Method : doGet
+     * @Description :get方式推送接口
      * @Params : [url, paramsMap, timeoutMap]
      * @Return : com.alibaba.fastjson.JSONObject
      * @Author : ZhuoNing
      * @Date : 2021/11/18
      * @Time : 17:39
      */
-    public JSONObject get(String url, Map<String, String> paramsMap, Map<String, Integer> timeoutMap) throws IOException {
+    public JSONObject doGet(String url, Map<String, String> paramsMap, Map<String, Integer> timeoutMap) throws IOException {
         if (timeoutMap == null) {
             timeoutMap.put("connectTimeout", 5000);
             timeoutMap.put("requestTimeout", 5000);
@@ -131,8 +146,13 @@ public class HttpTemplete {
                 return resultJo;
             }
         } finally {
-            response.close();
-            httpClient.close();
+            //释放资源
+            if (response != null) {
+                response.close();
+            }
+            if (httpClient != null) {
+                httpClient.close();
+            }
         }
     }
 
@@ -162,8 +182,13 @@ public class HttpTemplete {
                 System.out.println("请求失败");
             }
         } finally {
-            response.close();
-            httpClient.close();
+            //释放资源
+            if (response != null) {
+                response.close();
+            }
+            if (httpClient != null) {
+                httpClient.close();
+            }
         }
     }
 

+ 4 - 4
huimv-hy-production/huimv.hy.autoGetData/src/test/java/com/huimv/production/autoGetData/utils/HttpTempleteTest.java

@@ -35,18 +35,18 @@ public class HttpTempleteTest {
     public void testPost() throws IOException {
         String url = testLocalHttpIp + "/demo/saveDemo";
         System.out.println("测试推送地址:"+url);
-
+        //
         Map<String,String> paramsMap = new HashMap<String,String>();
         paramsMap.put("name", "tony");
         paramsMap.put("age", "25");
         paramsMap.put("no", "1156");
-
+        //
         Map<String,Integer> timeoutMap = new HashMap<String,Integer>();
         timeoutMap.put("connectTimeout", 5000);
         timeoutMap.put("requestTimeout", 5000);
         timeoutMap.put("socketTimeout", 5000);
         // 用Post方法推送接口数据
-        JSONObject outJo = httpTemplete.post(url,paramsMap,timeoutMap);
+        JSONObject outJo = httpTemplete.doPost(url,paramsMap,timeoutMap);
         System.out.println("测试结果="+outJo);
     }
 
@@ -66,7 +66,7 @@ public class HttpTempleteTest {
 
         String url = testRemoteHttpIp + "/token/getToken";
         //用Get方法推送接口数据
-        JSONObject resultJo = httpTemplete.get(url, paramsMap, timeoutMap);
+        JSONObject resultJo = httpTemplete.doGet(url, paramsMap, timeoutMap);
         System.out.println("status=" + resultJo.getBoolean("status"));
         System.out.println("content=" + resultJo.getJSONObject("content"));
     }