Ich werde einen RESTful-Aufruf in Java machen. Allerdings weiß ich nicht, wie ich den Aufruf machen soll. Muss ich die URLConnection oder andere verwenden? Kann mir jemand helfen. Danke.
Dies ist in Java sehr kompliziert, weshalb ich vorschlagen würde, Spring's RestTemplate Abstraktion zu verwenden:
String result =
restTemplate.getForObject(
"http://example.com/hotels/{hotel}/bookings/{booking}",
String.class,"42", "21"
);
Referenz:
RestTemplate
Wenn Sie nur einen einfachen Aufruf eines REST-Dienstes von Java aus machen müssen, verwenden Sie etwas in dieser Richtung
/*
* Stolen from http://xml.nig.ac.jp/tutorial/rest/index.html
* and http://www.dr-chuck.com/csev-blog/2007/09/calling-rest-web-services-from-java/
*/
import java.io.*;
import java.net.*;
public class Rest {
public static void main(String[] args) throws IOException {
URL url = new URL(INSERT_HERE_YOUR_URL);
String query = INSERT_HERE_YOUR_URL_PARAMETERS;
//make connection
URLConnection urlc = url.openConnection();
//use post mode
urlc.setDoOutput(true);
urlc.setAllowUserInteraction(false);
//send query
PrintStream ps = new PrintStream(urlc.getOutputStream());
ps.print(query);
ps.close();
//get result
BufferedReader br = new BufferedReader(new InputStreamReader(urlc
.getInputStream()));
String l = null;
while ((l=br.readLine())!=null) {
System.out.println(l);
}
br.close();
}
}
Es gibt mehrere RESTful APIs. Ich würde Jersey empfehlen;
Die Dokumentation der Client-API finden Sie hier;
https://jersey.java.net/documentation/latest/index.html
Aktualisierung Der Ort für die OAuth-Dokumente im Kommentar unten ist ein toter Link und wurde nach https://jersey.java.net/nonav/documentation/latest/security.html#d0e12334 verschoben.