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
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);
}
}