Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

API-Grundlagen 2

Die ganze Lektion steht hier zum Lesen. Erstellen Sie ein kostenloses Konto, um sie in einem Live-Lab auszuführen.

Container-Lab9 Min. Lesezeit11 Befehle

Was du machst

In den API-Grundlagen hast du Notizen gelesen und hinzugefügt. Eine Web-API macht vier Dinge mit Daten: erstellen, lesen, ändern und löschen. Jedes ist eine andere Art von Anfrage. Hier machst du ändern und löschen: Du änderst eine Notiz und löschst eine. Dazu siehst du den Statuscode, mit dem die API jedes Mal antwortet. Das ist eine Zahl, die sagt, wie es gelaufen ist.

Bevor du anfängst

Notiz

Klicke oben in der Leiste dieser Lektion auf Lab starten und warte, bis dort steht, dass es läuft. Der erste Start dauert ein paar Sekunden, weil zuerst die Datenbank startet. Jede Schaltfläche Ausführen unten tippt ihren Befehl ins Terminal deines Labs, einen nach dem anderen in derselben Sitzung. Wenn du zuschauen oder eigene Befehle tippen willst, klicke in der Leiste auf Terminal öffnen (neuer Tab).

1. Sorge dafür, dass es Notizen zum Ändern gibt

Diese Befehle legen die Tabelle notes an, falls die API-Grundlagen das nicht getan haben. Sie tragen zwei Notizen ein und sagen der API, dass sie die Datenbank neu lesen soll. Wenn du die erste Lektion gemacht hast, gibt es die Tabelle schon. psql meldet das mit einem NOTICE, macht weiter und fügt zwei weitere Notizen hinzu. Das ist in Ordnung. ?order=id listet die Notizen nach ihrer id auf. -w "\n" beendet die Antwort mit einer neuen Zeile, damit sie unter dem Befehl steht.

Befehl
export PGPASSWORD=shop

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
psql -h db -U shop -c "create table if not exists notes (id serial primary key, body text not null)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
psql -h db -U shop -c "insert into notes (body) values ('one'), ('two')"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
psql -h db -U shop -c "notify pgrst, 'reload schema'"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
curl -s -w "\n" "http://api:3000/notes?order=id"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

2. Ändere eine Notiz

Eine PATCH-Anfrage ändert einen Teil einer Zeile. ?id=eq.1 sagt, welche: die Zeile, deren id gleich 1 ist. Die API antwortet 204. Das heißt: „Erledigt, und es gibt nichts zurückzuschicken.“ Lies die Tabelle noch einmal, dann ist die Notiz geändert.

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X PATCH -H "Content-Type: application/json" -d '{"body":"changed"}' "http://api:3000/notes?id=eq.1"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
curl -s -w "\n" "http://api:3000/notes?id=eq.1"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

3. Lösche eine Notiz

Eine DELETE-Anfrage entfernt die passenden Zeilen, hier die mit der id 2. Wieder 204. Lies die Tabelle noch einmal, dann ist sie weg.

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X DELETE "http://api:3000/notes?id=eq.2"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
curl -s -w "\n" "http://api:3000/notes?order=id"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

4. Lies die Statuscodes

Jede Antwort beginnt mit einem Statuscode. 200 heißt „Hier ist es“, 201 „Ich habe es angelegt“, 204 „Erledigt“ und 404 „So etwas gibt es nicht“. Fragst du nach einer Tabelle, die es nicht gibt, bekommst du 404. Fragst du nach der, die es gibt, bekommst du 200.

Befehl
curl -s -o /dev/null -w "%{http_code}\n" http://api:3000/notes

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
curl -s -o /dev/null -w "%{http_code}\n" http://api:3000/nothing

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Für Lehrkräfte

Tipp

Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab abläuft: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Sie nutzt dasselbe Datenbank-und-API-Lab wie die API-Grundlagen. Die Datenbank legt ihre Dateien in einem Volume ab, das die Plattform sichert, daher sind die Notizen beim nächsten Mal noch da. Kopiere die Lektion in dein eigenes Modul und ändere sie, oder baue im Lektionseditor über das Menü Lab eine neue von Grund auf.

Mehr in diesem Lab

Über dieses Lab und seinen Quellcode: PostgreSQL-und-PostgREST-Lab: eine Datenbank und eine REST-API im Browser

Sie unterrichten eine Klasse? Weisen Sie diese Lektionen Ihren Lernenden zu, mit Bewertung und einem Lab für jede lernende Person.