Θα πραγματοποιήσω μια κλήση RESTful σε Java. Ωστόσο, δεν ξέρω πώς να κάνω την κλήση. Πρέπει να χρησιμοποιήσω το URLConnection ή άλλα; Μπορεί κάποιος να με βοηθήσει. σας ευχαριστώ.
Αυτό είναι πολύ περίπλοκο στη java, γι' αυτό θα πρότεινα να χρησιμοποιήσετε την αφαίρεση RestTemplate
της Spring:
String result =
restTemplate.getForObject(
"http://example.com/hotels/{hotel}/bookings/{booking}",
String.class,"42", "21"
);
Αναφορά:
RestTemplate
Αν θέλετε απλά να κάνετε μια απλή κλήση σε μια υπηρεσία REST από τη java χρησιμοποιείτε κάτι τέτοιο
/*
* 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();
}
}
Υπάρχουν διάφορα RESTful APIs. Θα συνιστούσα το Jersey,
Η τεκμηρίωση του API πελάτη βρίσκεται εδώ,
https://jersey.java.net/documentation/latest/index.html
Επικαιροποίηση Η τοποθεσία για τα έγγραφα OAuth στο παρακάτω σχόλιο είναι νεκρός σύνδεσμος και μεταφέρθηκε στο https://jersey.java.net/nonav/documentation/latest/security.html#d0e12334.