Verwendung einer API mit Java (The Complete Beginner’s Guide)

In diesem Artikel werden wir über die beste Technologie für die Interaktion zwischen Software sprechen und sie in der beliebtesten Sprache zum Erstellen von Software testen.

Was ist Java REST API?

Dies ist eine schwierige Frage, also teilen wir sie in einige Teile. Java ist eine der beliebtesten Programmiersprachen der Welt. Laut dem TIOBE-Ranking (das Sprachen nach ihrem Beliebtheitsindex ordnet) ist es tatsächlich das beliebteste. Es gibt viele Gründe dafür, aber wir bevorzugen die These, dass Java weit verbreitet und einfach zu implementieren ist und über eine magische Toolbox „Einmal schreiben, überall ausführen“ verfügt.

Möchten Sie stattdessen eine API erstellen? Lesen Sie, wie Sie eine API in Java erstellen

Okay, aber was genau ist eine API?

Nun, API steht für Application Programming Interface.

Kurz gesagt, es ist eine Reihe von Regeln, die die Interaktion zwischen Software steuert (dh ein Objekt, das eine Aufgabe empfängt, und ein Objekt, das diese Aufgabe ausführt). APIs ermöglichen es uns, tief in den Quellcode einiger Software von Drittanbietern einzutauchen und gleichzeitig ihre Privilegien schnell und einfach zu nutzen.

Wie funktioniert diese Schnittstelle?

In erster Linie sollte eine API eine Host-URL (oder Basis-URL) haben, die die Hauptadresse ist, mit der Sie interagieren werden.

Außerdem verfügt APIs über einen vordefinierten Satz von Endpunkten – eindeutige Adressen innerhalb der Host-URL, die für ihre Funktionalität verantwortlich sind. Darüber hinaus sollten APIs über eine Dokumentation verfügen, in der alle Endpunkte, Arten von zurückgegebenen Werten usw. erläutert werden.

Nachdem Sie eine interessante API gefunden und die Dokumentation gelesen haben, müssen Sie eine Anfrage senden – eine einzige Aufgabe für den Server (Empfangsseite).

Metaphorisch ist es wie ein Gespräch zwischen zwei Personen: Jemand (Sie) stellt eine Frage (Anfrage) und der Gesprächspartner (Sie) antwortet (Antwort).

Arten von API-Anfragen

Es gibt viele verschiedene Arten von Anfragen, die API verarbeiten könnte, aber hier sind die am häufigsten verwendeten:

  • GET – gibt Daten vom Server zurück. Die beliebteste Anfrage übrigens.
  • POST – fügt neue Daten auf dem Server hinzu. Oft wird dieser Typ für die Registrierung oder das Hochladen von Dateien verwendet.
  • PUT/PATCH – aktualisiert Daten, nützliche Anfrage, aber nicht so begehrt.
  • DELETE – entfernt Daten vom Server.

Okay, wir haben die Bedeutung des ersten und des letzten Wortes in „Java REST API“.

Aber was bedeutet RUHE?

Dies ist der Stil der Softwarekommunikation, der einem Client hilft, die erforderlichen Daten im Well-Zustand für die Darstellung abzurufen (REST – Representational State Transfer).

Wenn wir also REST API sagen, meinen wir – APIs, die angeforderte Daten nicht nur zurückgeben, sondern auch für die weitere Arbeit vorbereiten.

Aber wie können wir eine RESTful API erstellen? Alles, was erforderlich ist – eine Reihe von architektonischen Einschränkungen:

  • Client–Server-Architektur – klare Trennung auf zwei Seiten. Der Client sendet Anfragen und wartet auf die Antwort; Der Server übernimmt dann die entgegengesetzte Rolle. Der Hauptgrund für diese Einschränkung – eine Seite kümmert sich um nichts außer dem korrekten Format der Interaktion (es ist nicht Ihr Problem, wie der Server Ihre Anfrage ausführt und umgekehrt).
  • Staatenlosigkeit – Unabhängigkeit jeder einzelnen Anfrage von allen vorherigen und zukünftigen Anfragen. Zum Beispiel, wenn Sie die Frage senden würden „Was Charlies Nachname?“, und dann Follow-up mit „Wie alt ist er?“, der Server wäre nicht in der Lage, letzteres zu beantworten. Der Server speichert keine Informationen vom Client und benötigt diese bei jeder Anforderung.
  • Cachefähigkeit – Anstelle des Servers könnte (und sollte) der Client einige Daten im lokalen Speicher (Cache) speichern. Es erhöht die Produktivität, soweit die Anzahl der Anfragen geringer sein wird.
  • Schichtensystem – Der Server sollte Schichten für verschiedene Teile des Prozesses enthalten. Dies ist nützlich, da Ebenen nichts voneinander wissen und der Server leicht mit neuen Ebenen skaliert werden kann (z. B. Sicherheit).
  • Einheitliche Schnittstelle – Jeder Endpunkt muss eine eindeutige Adresse haben. Einfach, nützlich und notwendig.

Nun, da wir alle Informationen über Java RESTful APIs haben, probieren wir es aus!

Voraussetzungen

Zunächst müssen Sie Java auf Ihrem Computer installiert haben.

Außerdem sollten Sie einen Maven-Paket-Builder für die einfache Installation und Verwendung von Site-Paketen haben. Ansonsten benötigen wir nur die Unirest-Bibliothek, um problemlos und in wenigen Zeilen Anfragen zu stellen.

Hier können Sie sich das Beispiel für Code ansehen, der eine Anfrage von Standardmodulen stellt:

Sieht ziemlich schwierig aus, oder? Insbesondere InputStream als Typ des zurückgegebenen Werts (er sollte weiterverarbeitet werden).

Schauen wir uns das gleiche Beispiel mit Unirest an:

Voila! Sie können den erwarteten Antworttyp zuweisen und sofort damit arbeiten.

Sie können Unirest mit Hilfe von Maven verwenden, dann ein Java Maven-Projekt erstellen und das Pom finden.XML-Datei – zeigt alle Abhängigkeiten und Tools des Projekts an. Fügen Sie den nächsten Teil des XML-Codes in das <dependencies> -Tag ein:

<dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version></dependency>

Detailliertere Informationen zu Abhängigkeiten finden Sie hier.

Jetzt können Sie Ihr Projekt mit dem nächsten Befehl im Terminal erstellen (seien Sie vorsichtig, verwenden Sie es nur im Hauptordner, weil).xml sollte für Maven sichtbar sein):
mvn package

Jetzt können Sie Java für die Interaktion mit APIs verwenden.

Übersicht

Bevor wir beginnen, müssen wir eine einfache API zum Testen finden. Manchmal ist es schwierig, eine kostenlose und nützliche API für Testzwecke zu finden. Bei RapidAPI finden Sie über 10.000 APIs zum Testen und Verbinden. Hier können Sie Ihre Programmierkenntnisse testen, nützliche Apps erstellen und sogar Ihre eigenen APIs erstellen.

So starten Sie die Verwendung von APIs mit Java

Melden Sie sich für RapidAPI an

Wie bereits erwähnt, verfügt RapidAPI über mehr als 10.000 APIs, mit denen Sie beginnen können. Und mit über 1 Million Entwicklern, die seine Plattform nutzen, ist es eine der beliebtesten und vertrauenswürdigsten API-Plattformen.

So klicken Sie hier, um loszulegen, es ist kostenlos.

API suchen

Nachdem Sie ein Benutzerkonto haben, suchen wir eine API, mit der Sie spielen können.

Auf RapidAPI.com , Sie können APIs finden, indem Sie browsen:

  • Categories (example: (APIs)
  • Suche
  • Kuratierte Sammlungen auf der Homepage

Versuchen wir, nach der IMDb-API zu suchen, um Informationen zu TV und Filmen zu erhalten:

Abonnieren Sie die API

Um diese API zu verwenden, müssen Sie sie zuerst abonnieren. (Hinweis: Es gibt einen Freemium-Plan, der 1000 kostenlose API-Anfragen / Tag ermöglicht). Sie müssen Ihre Kreditkarte eingeben, falls Sie Überschreitungen erleiden.

Wenn Sie stattdessen einige kostenlose APIs (ohne Kreditkarte) ausprobieren möchten, durchsuchen Sie diese Sammlung.

Sobald Sie das Abonnement abgeschlossen haben, können Sie die Endpunkte testen.

Testen Sie die Endpunkte

Lassen Sie uns alle Endpunkte untersuchen, die in dieser API enthalten sind. Schauen Sie auf der linken Seite der API-Seite nach:

Die IMDb–API hat nur zwei Endpunkte:

  1. GET By Search – Durchsuchen Sie die IMDb-Datenbank nach Abfragezeichenfolge
  2. GET By ID or Title – Erhalten Sie detailliertere Informationen zu einem bestimmten Titel (einschließlich Informationen zu Film / TV, Besetzung, Produktion und mehr).

Füllen Sie auf einem der API-Endpunkte alle erforderlichen Parameter aus und klicken Sie auf „Endpunkt testen“.

Auf der rechten Seite sehen Sie den Snippet-Teil, in dem Entwickler zeigen, wie sie mit jeder unterstützten Sprache eine Verbindung zu dieser API herstellen können.

Für diese API müssen wir zwei Header hinzufügen (eindeutiger Name der API und unser eigenes RapidAPI-Token). Alle anderen Parameter hängen vom konkreten Endpunkt ab. Lassen Sie uns alle Endpunkte untersuchen, die sich in dieser API befinden. Schauen Sie auf der linken Seite der Hauptseite.

Abrufen von Daten über die API

Okay, seien Sie bereit, es ist Zeit für die Codierung. Lassen Sie uns alles über einen berühmten Film herausfinden, der in den imdb-Daten enthalten ist. Kehren Sie zu Ihrem Code zurück und importieren Sie die nächsten Dinge:

Hier importieren wir URLEncoder für die Vorbereitung der zu sendenden Parameter und 3 erforderliche Objekte aus der Unirest-Bibliothek:

  1. für die Bearbeitung einer Antwort (HttpResponse),
  2. JSON-Typ zuweisen (JsonNode),
  3. und eine GET-Anfrage stellen (Unirest).

Lassen Sie uns nun Ihre Hauptklasse erstellen, in der der gesamte Code lautet:

public class App{ public static void main( String args ) throws Exception { //Here will be your code }}

Vergessen Sie nicht die Ausnahme. Sie sollten alle Warnungen und Fehler behandeln, um das Projekt zu verbessern.

Okay, jetzt erstellen wir ein paar String-Variablen, um einige Prozesse zu automatisieren:

Nachdem wir die Abfrage erstellt haben, senden wir eine Anfrage und bearbeiten die Antwort:

Wie Sie sehen, ist es ziemlich einfach.

Verwenden Sie zum Erstellen einer Anforderung eine Unirest-Bibliothek mit der GET-Funktion.

Achten Sie auf die Kopfzeilen – wir können sie hinzufügen, indem wir Punkte zum Teilen verwenden.

Nachdem wir eine Anfrage gestellt und ihre Antwort durch das HttpResponse Objekt bearbeitet haben, können wir das Ergebnis sehen.

First println zeigt den Statuscode der Antwort an – eine kurze Nummer, die die Situation mit unseren angeforderten Aktionen erklärt.

In unserem Fall sollte, wenn alles in Ordnung ist, ein 200 – OK-Status zurückgegeben werden.

Der zweite println zeigt wiederum einen der Antwortheader an – „Content-Type“.

Mal sehen, was wir mit der integrierten API-Konsole in RapidAPI bekommen sollten. Geben Sie einfach Ihre Abfrage in die Formularfelder ein und klicken Sie auf „Testendpunkt“:

Sie sollten das gleiche Ergebnis wie im obigen Screenshot sehen.

Lassen Sie uns nun unseren Code überprüfen. Führen Sie Ihr Programm aus, und Sie sollten sehen:

200

JSON-Antwort abrufen

Im vorherigen Codeabschnitt haben wir ein JsonNode -Objekt zum Zuweisen des JSON-Formattyps zur Antwort verwendet.

Das Problem ist, dass das Standard-JsonNode-Objekt Daten in einer einzigen Zeile druckt, was ziemlich schwer zu verstehen ist. Fügen wir eine Bibliothek zur Verschönerung von Daten hinzu – GSON. Ändern Sie Ihren Pom.xml-Datei mit der nächsten Abhängigkeit:

<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>

Fügen wir nun einige Importzeilen im Importabschnitt Ihres * hinzu.java-Datei:

Diese Objekte helfen uns beim Pretty-Print unseres JSON. Okay, jetzt können wir den Endpunkt aufrufen und eine Antwort erhalten:

Wenn alles gut geht, sollten wir die folgende Antwort sehen:

Beispiel: Verwenden von Java & APIs zum Anzeigen anderer Datentypen

Wie Sie sich vielleicht erinnern, war der Content-Type-Header der vorherigen Anforderungen für „application/json“, aber was ist, wenn wir etwas senden / empfangen möchten, das nicht in JSON verarbeitet werden kann?

Zum Beispiel eine Datei oder ein Bild?

Versuchen wir, dies mit der Meme Generator API zu demonstrieren.

Meme Generator API besteht aus 5 Endpunkten:

  • Meme generieren
  • Schriftarten abrufen
  • Bild hochladen
  • Schriftart hochladen
  • Bilder abrufen

Verwenden wir den Endpunkt Meme generieren:

Ändern wir zunächst unsere Importe, indem wir diese Zeilen oben in unseren Code einfügen:

import java.io.InputStream;import java.io.File;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;

Fügen Sie nun den folgenden code-Snippet innerhalb der Hauptmethode:

Hier verarbeiten wir den Rohtext der Antwort in das InputStream -Objekt. Der nächste Schritt besteht darin, es im BufferedImage objektdynamischen Bild im Speicher des Programms zu lesen.

Zum Schluss erstellen (oder aktualisieren) wir ein Bild.JPG-Datei und speichern Sie den Puffer darin. Dies sollte Folgendes ausgeben:


Wie Sie vielleicht sehen, kehrt API zu einem Bildobjekt zurück.

Um das eigentliche Bild zu sehen, überprüfen wir den Hauptordner unseres Projekts und Sie sollten finden:

Fazit

In diesem Handbuch haben wir untersucht, wie RapidAPI verwendet wird, um aufregende und nützliche Java-REST-API-Anwendungen zu erstellen, und einige hilfreiche APIs ausprobiert, um Schlüsselmomente in dieser Technik zu löschen.

  • Verwendung einer API
    • Mit Python
    • Mit PHP
    • Mit JavaScript
      • Mit React
        • Axios
      • Mit NodeJS
      • Mit VueJS
    • Mit Ruby on Rails
    • Mit C #
    • in Google Sheets
  • So erstellen Sie eine API mit Java
  • Liste der REST-API-Tutorials
  • Verwendung der Twitter-API mit Java
  • Verwendung der Skyscanner-API mit Java
  • Verwendung der Yahoo Finance-API mit Java

FAQ

Wie können Sie eine API in Java erstellen?

Schauen Sie sich diese Java-API-Tutorials zum Erstellen einer API an.

Ist Java eine API?

Java ist eine Programmiersprache.APIs sind eine Reihe von Definitionen und Protokollen, die es Technologieprodukten und -diensten ermöglichen, miteinander zu kommunizieren.Eine Java Application Programming Interface (API) kann sich auf das Java Development Kit (JDK) oder APIs beziehen, auf die mit Java zugegriffen werden kann.

Ist JSON eine API?

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.