Читать книгу Spring Boot - Mark Heckler - Страница 51

Speichern und Abrufen von Daten

Оглавление

Begeben wir uns noch einmal daran, liebe Freunde: Greifen wir uns das API von der Kommandozeile mittels HTTPie. Wird der coffees-Endpoint abgefragt, erhalten wir dieselben vier Kaffees aus unserer H2-Datenbank wie zuvor – siehe Abbildung 4-6.

Wenn wir das id-Feld für einen der gerade aufgelisteten Kaffees kopieren und in eine kaffeespezifische GET-Anforderung einfügen, erhalten wir die Ausgabe, die in Abbildung 4-7 zu sehen ist.

Abbildung 4-6: Alle Kaffees mit »GET« abrufen

Abbildung 4-7: Einen Kaffee mit »GET« abrufen

In Abbildung 4-8 schicke ich mit POST einen neuen Kaffee an die Anwendung und ihre Datenbank.

Abbildung 4-8: Mit »POST« einen neuen Kaffee an die Liste schicken

Wie wir bereits im vorangegangenen Kapitel diskutiert haben, sollte ein PUT-Befehl das Aktualisieren einer vorhandenen Ressource erlauben. Sollte die angeforderte Ressource noch nicht existieren, wird eine neue hinzugefügt. In Abbildung 4-9 gebe ich die id des gerade hinzugefügten Kaffees an und übergebe an den Befehl ein JSON-Objekt mit einer Änderung des Namens dieses Kaffees. Nach der Aktualisierung trägt der Kaffee mit der id »99999« nun den name »Caribou Coffee« statt »Kaldi’s Coffee«. Der Rückgabecode ist erwartungsgemäß der Status 200 (OK).

Als Nächstes initiiere ich eine vergleichbare PUT-Anforderung, gebe aber in dem URI eine id an, die nicht existiert. Die Anwendung fügt nun entsprechend dem IETF-konformen Verhalten einen neuen Kaffee in die Datenbank ein und gibt ganz korrekt den HTTP-Status 201 (Created) zurück, wie Abbildung 4-10 zeigt.

Abbildung 4-9: Mit »PUT« einen vorhandenen Kaffee aktualisieren

Abbildung 4-10: Mit »PUT« einen neuen Kaffee anlegen

Schließlich teste ich das Löschen eines bestimmten Kaffees mit einer DELETE-Anforderung. Diese gibt nur den HTTP-Statuscode 200 (OK) zurück, der signalisiert, dass die Ressource erfolgreich gelöscht wurde, und sonst nichts – die Ressource gibt es nun ja nicht mehr; siehe Abbildung 4-11. Um unseren Endzustand zu prüfen, rufen wir noch einmal die komplette Liste der Kaffees ab (Abbildung 4-12).

Abbildung 4-11: DELETE löscht einen Kaffee.

Abbildung 4-12: Mit »GET« alle Kaffees abrufen, die nun auf der Liste stehen

Wie zuvor haben wir jetzt einen zusätzlichen Kaffee, der anfangs nicht in unserem Repository stand: Mötor Oil Coffee.

Spring Boot

Подняться наверх