1. 程式人生 > >JAVA調restful介面例項

JAVA調restful介面例項

java 調resrful介面實則不難,本文介紹兩種呼叫方式。

   ①使用client呼叫②使用流方式呼叫。

一  使用client呼叫,實現以下兩點即可

1 .下載所需jar包,下載地址為本文所選版本為1.19.1。

https://jersey.github.io/download.html、

2. 注意返回格式是json還是xml或其它。

     廢話不多說,請看程式碼:

import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;

import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;

public class testRestfulClient {
    public static void main(String[] args) {

        Client client = Client.create();

        client.addFilter(new HTTPBasicAuthFilter("使用者名稱", "密碼"));
        WebResource webResource = client
                .resource("http://-------------URL-------");
        //String result = (String)call.invoke(new Object[]{xml});
        String res = webResource.accept(MediaType.APPLICATION_ATOM_XML).get(String.class);
        System.out.println(res);
        client.destroy();
    }
}

二  使用流方式呼叫,只需引入jdk即可

     程式碼例項:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;

public class testRestful {

    static final String kuser = "使用者名稱"; // your account name

    static final String kpass = "密碼"; // your password for the account

    static class MyAuthenticator extends Authenticator {
        public PasswordAuthentication getPasswordAuthentication() {
            System.err.println("Feeding username and password for " + getRequestingScheme());
            return (new PasswordAuthentication(kuser, kpass.toCharArray()));
        }
    }
    public static void main(String[] args) throws Exception {
        Authenticator.setDefault(new MyAuthenticator());

        URL url = new URL("http://-----URL----");

        InputStream ins = url.openConnection().getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
        String str;
        while((str = reader.readLine()) != null)
            System.out.println("返回結果:"+str);
    }
}