SPA mit ASP.NET Core und Angular

Daten löschen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Zu den CRUD-Operationen gehört neben Create, Read und Update auch die Operation Delete, die Sie in diesem Video implementieren.
04:32

Transkript

Die im Bereich der Datenbanken bekannten Code Operationen bestehen im Einzelnen aus den Operationen Create, Read, Update und Delete. Ein Blick auf meine API zeigt, dass ich innerhalb meines Controllers bereits die Methode Create unter Zuhilfenahme des HTTP-Verbs Post implementiert habe, außerdem habe ich zwei Methoden zum Lesen, nämlich die beiden Get Methoden, ich habe eine zum Updaten, dass es die Put Methode. Was jetzt noch fehlt, ist eine Methode zum Löschen. Das HTTP-Verb, was wir zum Löschen benutzen, das heißt auch Delete. Bedeutet, über die neue Methode, die ich jetzt schreiben werde, packe ich das Attribut HttpDelete. Da ich in meiner Anfrage jeweils auch immer die Id des Datensatzes angeben werde, den ich löschen möchte, muss ich auch hier bereits wie bei Get, anhand der Id und wie bei Put angeben, dass die Id in der URL mit übergeben wird. Die Methode, die ich jetzt schreibe, die ist wieder vom Typ IActionResult, die heißt Delete, und übergeben werde ich die id. Von der Grundidee her ist das Löschen relativ simpel. Alles was ich mache ist, ich rufe mein Repository auf, werde hier die Methode Delete aufrufen und an diese Methode übergebe ich die Id. Die Methode gibt nichts zurück. Der Rückgabetyp ist void, und genau das wollen wir hier auch machen. Wir wollen auch nichts zurückgeben. Allerdings müssen wir etwas zurückgeben, denn ich ja habe hier den Rückgabetyp IActionResult und es gibt einen speziellen HTTP-Statuscode, den wir in solchen Fällen zurückgeben. Das ist der Statuscode NoContent. Dieser Code, wie Sie sehen, der hat die Nummer 204. Und über die Hilfsmethode NoContent, können wir genau diesen Statuscode zurückgeben. Damit sind wir noch nicht ganz fertig. Eine Sache kann ja noch schief gehen. Ich könnte versuchen einen Datensatz zu löschen, den es gar nicht gibt. Bedeutet also, wenn mein Repository für den Aufruf der Methode GetDishById mit der angegebenen id nichts zurückgibt, dann muss ich den Statuscode NotFound zurückgeben, weil ich ja nichts löschen konnte, aufgrund dessen, dass ich nichts gefunden habe. Also return NotFound. So. In meinem Repository werde ich für die Methode Delete eine Dummy-Implementierung vornehmen. Da nehme ich eine, die einfach gar nichts macht. Aktuell schaut es ja so aus, dass dieses Repository einfach nur Daten aus einer JSON-Datei liest und alle entscheidenden Optionen, die verändern diese Datei nicht. Das müssen sie auch nicht, denn es würde ja nur verdeutlicht werden, wie die Controller arbeiten, nicht wie ich Daten in Textdateien hereinschreibe. So, mit dieser Implementierung ist meine Methode Delete auch schon soweit fertig. Wir testen das Ganze jetzt einmal. Ich übersetze meine Anwendungen also, starte sie und wechsle jetzt in den Postman, mit dem ich die API aufrufen kann. Ich übergebe hier die Id 6 in meiner URL, bedeutet, ich möchte Patatas bravas löschen, muss das HTTP-Verb noch auf Delete umstellen, außerdem kann ich den Content-Type-Header löschen und auch hier den Body entsprechend leeren. Jetzt sende ich das Ganze und bekomme hier den Statuscode 204 NoContent zurück, bedeutet, alles ist gut gelaufen. Möchte ich aber was löschen, was gar nicht existiert, in meinem Fall also hier die Id 66 zum Beispiel, dann bekomme ich den Statuscode 404 zurück. Das Löschen gestaltete sich also relativ einfach. Alles was ich benötige, ist eine Methode von vom Typ IActionResult. Ich habe die jetzt hier Delete genannt, habe außerdem über das Attribut HttpDelete noch mal explizit darauf hingewiesen, dass ich hier mit dem HTTP-Verb Delete meine Anfrage starten muss. Ich übergebe die Idee, schaue zunächst, gibt es den Datensatz, wenn nicht, gebe ich NotFound zurück und danach lösche ich ihn in meiner Datenzugriffsschicht. Als Rückgabewert gebe ich NoContent zurück, also den Statuscode 204, weil ich ja tatsächlich keinen Inhalt mehr habe, der ist ja jetzt gelöscht worden.

SPA mit ASP.NET Core und Angular

Lernen Sie die Bestandteile von modernen Webanwendungen kennen und nutzen.

5 Std. 21 min (36 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.09.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!