Hutool是一個小而全的Java工具類庫,透過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函式式語言般的優雅,讓Java語言也可以“甜甜的”。
Hutool中的工具方法來自每個使用者的精雕細琢,它涵蓋了Java開發底層程式碼中的方方面面,它既是大型專案開發中解決小問題的利器,也是小型專案中的效率擔當;
Hutool是專案中“util”包友好的替代,它節省了開發人員對專案中公用類和公用工具方法的封裝時間,使開發專注於業務,同時可以最大限度的避免封裝不完善帶來的bug。
1.依賴引入
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.8</version></dependency>
2.Http 客戶端
針對最為常用的GET和POST請求,HttpUtil封裝了兩個方法,
HttpUtil.getHttpUtil.post免去了自己封裝java執行http請求的過程
a.HttpUtil get
// 最簡單的HTTP請求,可以自動透過header等資訊判斷編碼,不區分HTTP和HTTPSString result1= HttpUtil.get("https://www.baidu.com");// 當無法識別頁面編碼的時候,可以自定義請求頁面的編碼String result2= HttpUtil.get("https://www.baidu.com", CharsetUtil.CHARSET_UTF_8);//可以單獨傳入http引數,這樣引數會自動做URL編碼,拼接在URL中HashMap<String, Object> paramMap = new HashMap<>();paramMap.put("city", "北京");String result3= HttpUtil.get("https://www.baidu.com", paramMap);
b.HttpUtil post
HashMap<String, Object> paramMap = new HashMap<>();paramMap.put("city", "北京");String result= HttpUtil.post("https://www.baidu.com", paramMap);
c.HttpRequest post
//鏈式構建請求String result2 = HttpRequest.post(url) .header(Header.USER_AGENT, "Hutool http")//頭資訊,多個頭資訊多次呼叫此方法即可 .form(paramMap)//表單內容 .timeout(20000)//超時,毫秒 .execute().body();
JSONObject param = JSONUtil.createObj(); param.set("touser", touser); param.set("mp_template_msg", mp_template_msg); log.info("sendMpMessage ... url = {} , param = {}", api, param); String result = ((HttpRequest)HttpRequest.post(api) .header("Content-Type", "application/json"))//指定資料格式 .body(param.toString())//json .execute() .body();
下一篇 JSON相關
最新評論