您好,登錄后才能下訂單哦!
java如何實現調用接口?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。
兩種含義:一,Java接口,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特征集合,是一種邏輯上的抽象。前者叫做"Java接口",后者叫做"接口"。
1、首先URL restURL = new URL(url)
;這其中的url就是需要調的目標接口地址,URL類是java.net.*下的類。
2、setRequestMethod("POST")
;請求方式是有兩個值進行選擇,一個是GET,一個是POST,選擇對應的請求方式
3、setDoOutput(true);setDoInput(true)
;
setDoInput(): // 設置是否向httpUrlConnection輸出,因為這個是post請求,參數要放在http正文內, 因此需要設為true, 默認是false; setDoOutput(): // 設置是否從httpUrlConnection讀入,默認情況下是true;
4、setAllowUserInteraction();allowUserInteraction
如果為 true,則在允許用戶交互(例如彈出一個驗證對話框)的上下文中對此 URL 進行檢查。
5、下面代碼的query是以 屬性=值 傳輸的,若是多個則是 屬性=值&屬性=值 這種形式傳遞的,傳遞給服務器,讓服務器自己去處理。
6、close();
創建流進行寫入或讀取返回值,創建用完后記得關閉流。
實例教程:
package com.c; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; public class RestUtil { public String load(String url,String query) throws Exception { URL restURL = new URL(url); /* * 此處的urlConnection對象實際上是根據URL的請求協議(此處是http)生成的URLConnection類 的子類 HttpURLConnection */ HttpURLConnection conn = (HttpURLConnection) restURL.openConnection(); //請求方式 conn.setRequestMethod("POST"); //設置是否從httpUrlConnection讀入,默認情況下是true; httpUrlConnection.setDoInput(true); conn.setDoOutput(true); //allowUserInteraction 如果為 true,則在允許用戶交互(例如彈出一個驗證對話框)的上下文中對此 URL 進行檢查。 conn.setAllowUserInteraction(false); PrintStream ps = new PrintStream(conn.getOutputStream()); ps.print(query); ps.close(); BufferedReader bReader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line,resultStr=""; while(null != (line=bReader.readLine())) { resultStr +=line; } System.out.println("3412412---"+resultStr); bReader.close(); return resultStr; } public static void main(String []args) {try { RestUtil restUtil = new RestUtil(); String resultString = restUtil.load( "http://192.168.10.89:8080/eoffice-restful/resources/sys/oaholiday", "floor=first&year=2017&month=9&isLeader=N"); } catch (Exception e) { // TODO: handle exception System.out.print(e.getMessage()); } } }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。