首頁  >  文章  >  Java  >  java介面如何呼叫(附程式碼)

java介面如何呼叫(附程式碼)

尚
原創
2019-11-26 09:28:213291瀏覽

java介面如何呼叫(附程式碼)

java呼叫介面方法:

package com.lwl.api.provider.demo.test;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
 
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("接口调用数据:"+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) {
        System.out.print(e.getMessage());
    }
    }
}

首先URL restURL = new URL(url);這其中的url就是需要調的目標介面位址,URL類別是java.net.*下的類,這不陌生。

setRequestMethod("POST");請求方式是有兩個值可以選擇,一個是GET,一個是POST,選擇對應的請求方式

setDoOutput(true);setDoInput(true );

setDoInput()  :  // 設定是否向httpUrlConnection輸出,因為這個是post請求,參數要放在http正文內,因此需要設為true, 預設是false;   

# setDoOutput():   // 設定是否從httpUrlConnection讀入,預設為true; 

setAllowUserInteraction();allowUserInteraction 如果為true,則在允許使用者互動(例如彈出驗證對話方塊)的上下文中對此URL 進行檢查。

下面程式碼的query是以  屬性=值  傳輸的,若是多個則是 屬性=值&屬性=值 這種形式傳遞的,傳遞給伺服器,讓伺服器自己去處理。

如何去產生這種形式的呢?最簡單最快的方式在這裡Java將Map拼接成「參數=值&參數=值」

close();建立流進行寫入或讀取回傳值,建立用完後記得關閉流。

更多java知識請關注java基礎教學欄。

以上是java介面如何呼叫(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn