SPA mit ASP.NET Core und Angular

Controller hinzufügen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
HTTP-Anfragen werden unter ASP.NET Core MVC von Controller-Klassen beantwortet. Es gibt drei Anforderungen, damit eine Klasse als Controller genutzt werden kann: Sie muss öffentlich sein, mit dem Namen Controller enden und eine konfigurierte Route haben.
04:30

Transkript

Wenn wir Daten aus unsere Webanwendung zurückgeben möchten, dann benötigen wir dazu einen Controller. Einen einfachen Controller, nämlich den ValuesController, den hat mir bereits die Vorlage mitgeneriert. Und wie wir hier sehen, ist ein Controller nichts anderes als eine ganz normale Klasse, die von der Basisklasse Controller aus dem Namensraum Microsoft ASP.NET Core MVC erbt. Wie jedes HTTP-Verb, für das ich eine Interaktion mit dem Controller erlauben möchte, habe ich dann eine eigene Methode innerhalb des Controllers. Und die Methoden, sehen Sie, die heißen hier immer so, wie das HTTP-Verb heißt. Darüber hinaus kann ich die dann noch mit einem Attribut versehen, die der RoutingAgent dabei helfen, die korrekte Methode zu finden. Außerdem habe ich hier oben ein weiteres Attribut, nämlich das Route-Attribut. Und das besagt, dass die Methoden, die sich hier drin befinden, in diesem ValuesController unter der Route "api/[controller]" bedeutet unter dem Namen des Controllers gefunden werden, also api/values. Ich möchte jetzt ganz gerne für meine Speisen, also für die Klasse Dish auch einen Controller anlegen. Und dazu öffne ich das Kontextmenü auf dem Ordner Controllers, und jetzt kann ich hier unter Hinzufügen den Unterpunkt Controller auswählen. Jetzt sieht es so aus. Ich habe als Vorlage bei mir das Web-API-Projekt gewählt und nicht das Web Application Projekt. Und dementsprechend werde ich jetzt gefragt, ob Abhängigkeiten hinzugefügt werden sollen, und zwar minimale oder volle Abhängigkeiten. Was ist der Unterschied zwischen den beiden? Bei den minimalen Abhängigkeiten wird eine Referenz auf das Entity Framework hinzugefügt. Es wird die Möglichkeit hinzugefügt statische Dateien später auszugeben, die in dem wwwroot-Ordner liegen. Und es werden noch ein paar erweiterte Konfirmationseinträge generiert. Bei den vollen Abhängigkeiten erhalte ich außerdem noch eine Layoutseite. Außerdem werden Script-Bibliotheken, wie jQuery zum Beispiel hinzugefügt. Ich möchte eigentlich keins von beidem, denn ich möchte weder Script-Bibliotheken, noch das Entity Framework oder irgendetwas anderes zu diesem Zeitpunkt hinzufügen, sondern einfach nur einen Controller schreiben. Und deswegen werde ich einfach eine neue Klasse anlegen, nämlich eine Klasse mit dem Namen Dishes. Ich nehme also den Namen meines Modells und davon dem Plural und hänge noch Controller hinten dran. Das ist eine Konvention, dass der Name des Controllers auf dem Wort Controller endet. Und diese Klasse DishesController, die habe ich jetzt in einem Unterordner Controllers angelegt, dass das der Unterordner Controllers ist. Das ist auch wieder nur eine Konvention, das ist jetzt nicht weiter wichtig. Das könnte auch ein beliebiger anderer Ordner sein. Was wichtig ist, ist das es eine öffentliche Klasse ist, die auf dem Namen Controller endet und die von der Basisklasse Controller erbt. So, die IntelliSens kennt den Controller aktuell nicht, darum drücke ich einmal kurz Escape und drücke jetzt einmal Steuerung+Punkt. Und jetzt wird mir angeboten, dass ich den Namensraum Microsoft ASP.NET core MVC importieren kann. Damit mein Controller später auch gefunden wird, muss ich jetzt noch ein Attribut hinzufügen, nämlich das Route-Attribut. Und ich gebe jetzt an, dass dieser Controller genutzt wird, wenn ich auf die URL "api/[controller]" gehe. Ich könnte hier auch api/dishes eintragen. Wenn ich mich aber irgendwann dann dazu entscheiden sollte, diesen Controller umzubenennen in irgendetwas anderes, dann müsste ich hier oben auch immer diesen String ändern. So wird durch ein automatisches Ändern meines Klassennamens auch meine Route bereits angepasst. Was wir hier gemacht haben, das reicht bereits aus, um den Controller anzulegen. Jetzt muss ich ihn natürlich noch mit Leben befüllen, aber das ist eine andere Aufgabe. Um so einen Controller so anlegen, muss ich nichts weiter machen, als eine neue Klasse hinzuzufügen zu meinem Projekt, die öffentlich ist, die auf dem Namen Controller endet, die von Controller erbt und die eine Route definiert hat.

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
Ihr(e) Trainer:
Erscheinungsdatum:25.09.2017
Laufzeit:5 Std. 21 min (36 Videos)

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!