Was ist REST API und wie können Sie Daten für Ihre App oder Website erfassen?

Die Abkürzung API steht für Application Programming Interface. Eine API ist ein Satz von Funktionen, der die Kommunikation zwischen zwei Softwareanwendungen erleichtert. Im Wesentlichen leitet eine API eine Anfrage von einer Softwareanwendung an eine andere weiter und kehrt dann mit einer entsprechenden Antwort zur initiierenden Software zurück.

REST bedeutet repräsentative Zustandsübertragung und ist eine Architektur, die zum Entwerfen von Client-Server-Anwendungen verwendet wird. Mit einer Rest API erhalten Sie eine Darstellung der angeforderten Daten, die in einer Datenbank gespeichert sind. Eine REST-API ist auch zustandslos, was bedeutet, dass der Server keine Daten zwischen Anfragen von Clients speichert.

Wenn Sie ein Beispiel für die Rest-API und eine ausführliche Erklärung zur Funktionsweise suchen, lesen Sie weiter.

Wie funktioniert eine REST-API?

Eine REST-API greift auf Daten über Uniform Resource Identifiers (URIs) zu, bei denen es sich um eine Zeichenfolge handelt, die eine bestimmte Ressource identifiziert. Der von einer REST-API verwendete URI-Typ ist ein Uniform Resource Locator (URL).

Um auf Ressourcen zuzugreifen und diese zu bearbeiten, verwendet eine REST- API die folgenden Anforderungsverben:

  • Get (dies wird verwendet, um Daten aus einer Datenbank zu erhalten)
  • Post (Neue Daten zu einer Datenbank hinzufügen)
  • Put (Aktualisieren der Daten in einer Datenbank)
  • Löschen (Daten aus einer Datenbank löschen)

Wenn Sie die Dienste einer der vielen im Web verfügbaren REST-APIs nutzen möchten (anstatt eine von Grund auf neu zu erstellen), haben Sie nur Zugriff auf das Get-Request-Verb der REST-API (über eine URL). Diese URLs bestehen aus mehreren Komponenten, die Sie jedoch kennen müssen, sind der API- Schlüssel und die Abfrage.

Der API- Schlüssel ist eine eindeutige Kennung, die Sie erhalten, sobald Sie sich auf einer REST-API- Plattform registrieren. Die Abfrage ist normalerweise eine einfache Gleichung, die verwendet wird, um Ihre Suche zu personalisieren. Wenn Sie also das aktuelle Wetter in New York City abrufen möchten, könnte der Abfrageabschnitt Ihrer URL „city=New York“ lauten.

Die Ausführung einer Get-Anfrage gibt eine Antwort zurück, die einen Statuscode und einen Textkörper enthält. Wenn die Anfrage erfolgreich ist, enthält Ihr Antworttext die Daten, die Sie auf Ihrer Website oder Anwendung verwenden möchten.

Verwenden einer JavaScript-Anwendung zum Abrufen von Daten aus verschiedenen Rest-APIs

Um diese einfache Anwendung zu erstellen, müssen Sie zwei weitere Softwareanwendungen auf Ihrem Computer installieren: NodeJS und npm. Wir haben einen Artikel über die Installation von NodeJS und npm unter Ubuntu sowie einen Artikel über die Installation unter Windows geschrieben. Schauen Sie sich diese also an , wenn Sie mehr erfahren möchten.

Nachdem die oben genannten Anwendungen auf Ihrem Computer installiert wurden, müssen Sie die folgenden Schritte ausführen:

  1. Öffnen Sie Ihre IDE und starten Sie das Terminal.
  2. Navigieren Sie mit dem Befehl cd zu dem Ordner, der Ihre JavaScript-Anwendungsdatei enthält.
  3. Initialisieren Sie npm mit der folgenden Codezeile:
 npm init -y

Es gibt ein npm-Modul, das eine Schlüsselrolle in der Funktionalität dieser Anwendung spielt. Dies ist das Modul got, eine HTTP-Anforderungsbibliothek für NodeJS. Die folgende Codezeile installiert die neueste Version der got-Bibliothek in Ihren Anwendungsdateien:

 npm install got@latest

Jetzt können Sie Ihre Anwendung erstellen.

Verwenden der Got-Bibliothek zum Erstellen Ihrer Anwendung

 //import the got library into your application
const got = require('got');

//fetch data from a specific REST API and prints its body to the terminal
(async () => {
try {

const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();

Die obige Anwendung ruft Daten von jeder REST-API im Web ab. Sie müssen jedoch zuerst die URL für die entsprechende Ressource angeben.

Abrufen von Daten aus einer Wetter-REST-API

Die Weatherbit.io- API ist eine der beliebtesten Wetter- REST-APIs . Durch Einfügen der URL dieser API in die obige einfache JavaScript-Anwendung wird die App betriebsbereit.

Verwenden der Weatherbit.io-REST-API

 //import the got library into your application
const got = require('got');

//fetch data from a specific REST API and prints its body to the terminal
(async () => {
try {
const URL = 'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';
const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();

Die URL für die Weatherbit.io API wurde nun erfolgreich in die Anwendung eingefügt. Es gibt jedoch einen Aspekt der URL, den Sie anpassen müssen, damit die Anwendung ausgeführt wird. Dies ist der Abschnitt mit der Bezeichnung „API_KEY“, und diesen Schlüssel erhalten Sie von Weatherbit.io, wenn Sie sich für ein kostenloses Konto registrieren.

Sie haben auch die Möglichkeit, den Abfrageabschnitt im obigen Code anzupassen. Die Anwendung fragt derzeit das Wetter auf dem Breitengrad 40.7128 und dem Längengrad -74.0060 ab, aber Sie können neue Koordinaten eingeben. Obwohl die obige Abfrage der empfohlene Ansatz ist, können Sie anhand des Stadtnamens nach dem Wetter an einem Ort suchen.

Weitere Informationen zur Verwendung der Weatherbit.io- REST-API finden Sie hier .

Nachdem Sie Ihren API- Schlüssel in den entsprechenden Abschnitt oben eingefügt haben, können Sie nun Ihre JavaScript-Datei ausführen. Die Anwendung liefert etwas Ähnliches wie die folgende Ausgabe in Ihrem Terminal.

Weatherbit.io REST API-Antwortbeispiel

 data: [
{
rh: 53,
pod: 'd',
lon: -74.01,
pres: 1005.9,
timezone: 'America/New_York',
ob_time: '2021-09-27 14:50',
country_code: 'US',
clouds: 25,
ts: 1632754200,
solar_rad: 652.8,
state_code: 'NY',
city_name: 'New York City',
wind_spd: 5.66,
wind_cdir_full: 'west-southwest',
wind_cdir: 'WSW',
slp: 1015.9,
vis: 5,
h_angle: -30,
sunset: '22:44',
dni: 851.72,
dewpt: 12,
snow: 0,
uv: 5.68859,
precip: 0,
wind_dir: 240,
sunrise: '10:49',
ghi: 657.55,
dhi: 106.79,
aqi: 53,
lat: 40.71,
weather: [Object],
datetime: '2021-09-27:14',
temp: 22,
station: 'KJRB',
elev_angle: 40.89,
app_temp: 21.7
}
],
count: 1
}

Zu den wichtigeren Aspekten der in der Antwort zurückgegebenen Daten gehören:

  • City_name (gibt den Namen der Stadt am angegebenen Längen- und Breitengrad zurück).
  • Datetime (gibt die aktuelle Zyklusstunde im Format YYYY -MM-DD: HH zurück).
  • Wetter (gibt ein Objekt zurück, das ein Wettersymbol, einen Wettercode und eine Textbeschreibung des Wetters enthält).

Abrufen von Daten aus einer Nachrichten-REST-API

Die in diesem Abschnitt verwendete Nachrichten- API ist Newsdata.io. Wie alle REST-APIs im Web bietet es mehrere Abfrageoptionen, mit denen Sie aktuelle Nachrichten aus der ganzen Welt abrufen können. Mit der Newsdata.io- API können Sie Nachrichten aus einem bestimmten Land oder in einer bestimmten Sprache, Kategorie usw. abrufen.

Mit der JavaScript-Anwendung können Sie Daten aus der News- REST-API abrufen. Ersetzen Sie einfach die URL in der obigen Anwendung durch die folgende URL:

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

Der nächste Schritt besteht darin, den Abschnitt „YOUR_API_KEY“ in der obigen URL durch den API- Schlüssel zu ersetzen, den Sie nach der Registrierung bei Newsdata.io erhalten. Die obige URL gibt aktuelle Nachrichten aus Amerika zurück. Wenn Sie jedoch Nachrichten aus Japan wünschen, können Sie die Abfrage „contry=us“ einfach durch „country=jp“ ersetzen.

Weitere Informationen zur Verwendung der Newsdata.io- REST-API finden Sie hier .

Verwandte: Möchten Sie Ihrer Website oder App Schlagzeilen hinzufügen? Sie benötigen die Mediastack-API

Newsdata.io-REST-API-Antwortbeispiel

 {
title: 'Driver Killed By His Own Car Door While Waiting In Line At Fast-Food Drive-Thru, Providing Cautionary Insights For AI Self-Driving Cars',
link: 'https://www.forbes.com/sites/lanceeliot/2021/09/27/driver-killed-by-his-own-car-door-while-waiting-in-line-at-fast-food-drive-thru-providing-cautionary-insights-for-ai-self-driving-cars/',
keywords: [Array],
creator: [Array],
video_URL: null,
description: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about
the advent of AI-based self-driving cars. Here's the insider look.",
content: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about the
advent of AI-based self-driving cars. Here's the insider look.",
pubDate: '2021-09-27 15:30:00',
image_URL: 'https://thumbor.forbes.com/thumbor/fit-in/0x0/filters%3Aformat%28jpg%29/https://specials-images.forbesimg.com/imageserve/614272b9f18bec6882652695/0x0.jpg?cropX1=23&cropX2=2455&cropY1=23&cropY2=1538',
source_id: 'forbes'
}

Verwenden einer Python-Anwendung zum Abrufen von Daten aus verschiedenen Rest-APIs

Es ist möglich, Daten für Ihre Website oder Anwendung mit jeder Programmiersprache zu erfassen, mit der Sie vertraut sind. Wenn Sie also kein JavaScript verwenden möchten, können Sie die gleichen Ergebnisse mit einer Python-Anwendung erzielen.

Verwandte: So erstellen Sie APIs in Python: Beliebte Frameworks

Alles, was Sie tun müssen, ist das HTTP-Python-Modul für Anfragen mithilfe der pip-Umgebung zu installieren. Anschließend können Sie Ihre Python-Anwendung mit dem folgenden Code erstellen:

 # import the requests library
import requests
# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()
for key in json:
print(key, json[key])

Ähnlich wie in den vorherigen Beispielen müssen Sie Ihren API- Schlüssel in den entsprechenden Abschnitt einfügen. Sie erhalten dann dieselben Daten, die die JavaScript-Anwendung zurückgibt.

Das Erfassen von Daten für Ihre Website oder Anwendung ist ziemlich einfach

Sie verfügen jetzt über die Tools, die Sie zum Erfassen von Daten für Ihre Softwareanwendungen benötigen. Es ist wichtig, sich daran zu erinnern, dass die REST- Architektur eine lose Kopplung ermöglicht, was bedeutet, dass Sie jede Programmiersprache verwenden können, um Daten von jeder REST-API im Web abzurufen.

Jetzt wissen Sie, wie Sie die Rest-API verwenden , warum probieren Sie es nicht aus?