java後臺建立url連線,獲取介面資料
版權宣告:本文為博主原創文章,如需轉載,請標明出處。 https://blog.csdn.net/alan_liuyue/article/details/78982905
簡介
1. 在實踐中,當專案不斷進行新功能開發的時候,我們就不可能將所有的方法、功能點全部都寫在同一個專案裡面,這樣也不符合脫耦的趨勢;
2. 那麼,在專案中,我們既要增加新的功能點,又要最大限度地降低耦合度,我們就要不斷地對介面進行深入發掘;
3. 像阿里的分散式服務框架dubbo,也是一種基於介面開發的服務框架,它不僅能鬆耦合,而且功能點都是通過不斷增加介面來不斷增加;
4. 本篇部落格不講述介面如何開發,而是簡單地介紹,如何通過java建立url連線,獲取介面返回來的json資料;
專案實踐
/**
* 獲取介面資料,返回json格式字串,方法1
* @param url 介面路徑
* @param params 傳遞引數,自定義
* @param key 傳遞引數標識,自定義
* @return
*/
public String getData1(String url,String params,String key){
String rs = null;
CloseableHttpClient httpClient = HttpClient.createDefault();
try{
//拼接引數,轉義引數
String connUrl = url+"?params="+URLEncoder.encode(params,HTTP.UTF-8)+"&key="+key;
//建立連線
HttpGet get = new HttpGet(connUrl);
//獲取以及解析資料
CloseableHttpResponse resp = httpClient.execute(get);
rs = EntityUtils.toString(resp.getEntity(),HTTP.UTF-8);
}catch(IOException e){
System.out.println("出錯了")
}
return rs;
}
/**
* 獲取介面資料,返回json格式字串,方法2
* @param url 介面路徑
* @param params 傳遞引數,自定義
* @param key 傳遞引數標識,自定義
* @return
*/
public String getData2(String url,String params,String key){
HttpURLConnection conn = null;
BufferedReader reader = null;
String rs = null;
try {
//拼接引數,轉義引數
String connUrl = url+"?params="+URLEncoder.encode(params,HTTP.UTF-8)+"&key="+key;
//建立連線
URL url = new URL(connUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setUseCaches(false);
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(false);
conn.connect();
//獲取並解析資料
InputStream is = conn.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuffer sb = new StringBuffer();
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sb.append(strRead);
}
rs = sb.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
reader.close();
}
if (conn != null) {
conn.disconnect();
}
}
return rs;
}
總結
1. 上面提供了兩種方法來建立連線,獲取介面資料,可自選比較合適的方法;
2. 返回的rs都是json格式的字串,可直接使用JSONObject object = JSONObject.fromObject(rs)來轉換成json物件,然後進行多層次的解析;
3. 實踐是檢驗認識真理性的唯一標準,試一試就知道好不好用了;
相關文章
- java後臺獲取cookieJavaCookie
- js獲取url傳遞引數,js獲取url?號後面的引數JS
- 如何利用API介面獲取電商平臺資料?API
- java後臺介面相容jsonp格式資料JavaJSON
- 獲取天氣介面資料
- 登入驗證判斷,獲取後臺資料
- Java讀取properties檔案連線資料庫Java資料庫
- Java Web後臺從request裡面獲取的資料是亂碼問題JavaWeb
- 獲取URL地址
- JAVA通過URL連結獲取視訊檔案資訊(無需下載檔案)Java
- 教你如何使用API介面獲取資料!API
- java連線資料庫Java資料庫
- python使用cx_Oracle連線oracle資料庫獲取常用資訊PythonOracle資料庫
- 獲取url中?後面傳遞的引數
- java通過url呼叫遠端介面返回json資料JavaJSON
- 在小程式後端中轉獲取介面資料,繞過前端呼叫限制後端前端
- created mounted 動態獲取資料渲染後,獲取DOM問題
- 使用商品詳情API介面獲取商品資料API
- 如何使用API介面獲取淘寶商品資料API
- 通過web url獲取檔案資訊Web
- 怎麼建立網站連線資料庫網站資料庫
- golang 介面按需獲取資源Golang
- 【python介面自動化】- PyMySQL資料連線PythonMySql
- Selenium 獲取複製後的連結
- 過濾器中獲取form表單或url請求資料過濾器ORM
- API商品資料介面呼叫實戰:爬蟲與資料獲取API爬蟲
- Oracle獲取資料庫中的物件建立語句Oracle資料庫物件
- Java基於API介面爬取商品資料JavaAPI
- 使用Python呼叫API介面獲取淘寶商品資料PythonAPI
- 如何利用電商API介面來獲取商品資料API
- 如何教會小白使用API介面獲取商品資料API
- Temu api介面 獲取商品詳情 資料採集API
- API介面的藝術:如何巧妙獲取商品資料API
- 拼多多商品資料如何透過api介面獲取API
- 獲取演出詳情資料的圖片 url 根據要求組合後重復替換詳情裡的對方 url
- URL引數獲取/轉碼
- 獲取url上的引數
- 封裝getParam方法 ,獲取URL封裝
- R:連結KEGG資料庫獲取更多描述資訊資料庫