© best_vector/Shutterstock.com
Windows Developer
Teil 1: Grundlagen

Web-APIs mit ASP.NET MVC 6

Mit ASP.NET MVC und ASP.NET Web API existierten jahrelang zwei sehr ähnliche Frameworks nebeneinander. Um Mehrgleisigkeiten zu vermeiden, integriert das Produktteam die Möglichkeiten von Web API künftig in MVC 6.

Manfred Steyer


Video: Embracing HTTP in the era of Web APIs

Überblick ArtikelserieTeil 1: GrundlagenTeil 2: Weiterführende Themen wie Formatter u. a.

Um diesen Umstand aus der Welt zu schaffen, wird ASP.NET Web API in ASP.NET MVC 6 aufgehen. Dieser Artikel zeigt, wie MVC 6 künftig für die Entwicklung von Web-APIs genutzt werden kann. Am einfachsten lassen sich die hier gezeigten Beispiele mit der aktuellen CTP von Visual Studio 2015 [1] nachstellen.

Ein erstes Web-API mit MVC 6

Wie beim Vorgänger MVC 5 und seiner Schwestertechnologie ASP.NET Web API üblich, stellen Controller serverseitige Routinen zur Verfügung. Die einfachste und häufigste Möglichkeit, Controller bereitzustellen, besteht darin, Controller von der Basisklasse zu erben. Standardmäßig stellt MVC sämtliche Methoden der Controller-Klassen, die sich in diesem Kontext auch Action-Methoden nennen, über HTTP zur Verfügung. Dazu kommt ein als Routing bezeichneter Mechanismus zum Einsatz, der URLs auf Action-Methoden abbildet. Wird die Projektvorlage von Visual Studio genutzt, herrscht standardmäßig eine Route vor, die sich wie folgt gestaltet:

{controller}/{action}/{id?}

Der Platzhalter {controller} steht dabei für den Namen des Controllers. In der Regel ist dies der Name der Controller-Klasse ohne Endung Controller. Der Name des durch die Klasse FlugController beschriebenen Controllers ist somit Flug. Den Namen der aufzurufenden Action-Methode spiegelt der Platzhalter {action} wider. Auf Groß-/und Kleinschreibung legt MVC an dieser Stelle keinen Wert. Der optionale Platzhalter {id?} steht für einen Wert, der an einen Parameter mit dem Namen id zu übergeben ist. Das Fragezeichen am Ende des Parameternamens drückt aus, dass die Angabe dieses Werts bzw. das Vorhandensein eines Parameters id optional ist.

Ein Aufruf des URLs Flug/GetById/17 führt somit dazu, dass MVC die Methode GetById des Controllers FlugController aufruft und den Wert 17 an dessen Parameter id übergibt. Da es sich bei {id} um einen optionalen Platzhalter handelt und MVC sämtliche URL-Parameter standardmäßig auf gleichnamige Parameter der adressierten Action-Methode abbildet, könnte sich dieser Aufruf auch wie folgt gestalten: Flug/GetById?id=17.

Ein Beispiel für solch einen Controller findet sich in Listing 1. Zur Vereinfachung verwaltet er Flüge in einer statischen Liste, die sein Konstruktor initialisiert, sofern sie noch nicht vorhanden ist. Darüber hinaus weist er einige Action-Methoden auf, die MVC 6 anhand der besprochenen Route auf U...

Windows Developer
Teil 1: Grundlagen

Web-APIs mit ASP.NET MVC 6

Mit ASP.NET MVC und ASP.NET Web API existierten jahrelang zwei sehr ähnliche Frameworks nebeneinander. Um Mehrgleisigkeiten zu vermeiden, integriert das Produktteam die Möglichkeiten von Web API künftig in MVC 6.

Manfred Steyer


Video: Embracing HTTP in the era of Web APIs

Überblick ArtikelserieTeil 1: GrundlagenTeil 2: Weiterführende Themen wie Formatter u. a.

Um diesen Umstand aus der Welt zu schaffen, wird ASP.NET Web API in ASP.NET MVC 6 aufgehen. Dieser Artikel zeigt, wie MVC 6 künftig für die Entwicklung von Web-APIs genutzt werden kann. Am einfachsten lassen sich die hier gezeigten Beispiele mit der aktuellen CTP von Visual Studio 2015 [1] nachstellen.

Ein erstes Web-API mit MVC 6

Wie beim Vorgänger MVC 5 und seiner Schwestertechnologie ASP.NET Web API üblich, stellen Controller serverseitige Routinen zur Verfügung. Die einfachste und häufigste Möglichkeit, Controller bereitzustellen, besteht darin, Controller von der Basisklasse zu erben. Standardmäßig stellt MVC sämtliche Methoden der Controller-Klassen, die sich in diesem Kontext auch Action-Methoden nennen, über HTTP zur Verfügung. Dazu kommt ein als Routing bezeichneter Mechanismus zum Einsatz, der URLs auf Action-Methoden abbildet. Wird die Projektvorlage von Visual Studio genutzt, herrscht standardmäßig eine Route vor, die sich wie folgt gestaltet:

{controller}/{action}/{id?}

Der Platzhalter {controller} steht dabei für den Namen des Controllers. In der Regel ist dies der Name der Controller-Klasse ohne Endung Controller. Der Name des durch die Klasse FlugController beschriebenen Controllers ist somit Flug. Den Namen der aufzurufenden Action-Methode spiegelt der Platzhalter {action} wider. Auf Groß-/und Kleinschreibung legt MVC an dieser Stelle keinen Wert. Der optionale Platzhalter {id?} steht für einen Wert, der an einen Parameter mit dem Namen id zu übergeben ist. Das Fragezeichen am Ende des Parameternamens drückt aus, dass die Angabe dieses Werts bzw. das Vorhandensein eines Parameters id optional ist.

Ein Aufruf des URLs Flug/GetById/17 führt somit dazu, dass MVC die Methode GetById des Controllers FlugController aufruft und den Wert 17 an dessen Parameter id übergibt. Da es sich bei {id} um einen optionalen Platzhalter handelt und MVC sämtliche URL-Parameter standardmäßig auf gleichnamige Parameter der adressierten Action-Methode abbildet, könnte sich dieser Aufruf auch wie folgt gestalten: Flug/GetById?id=17.

Ein Beispiel für solch einen Controller findet sich in Listing 1. Zur Vereinfachung verwaltet er Flüge in einer statischen Liste, die sein Konstruktor initialisiert, sofern sie noch nicht vorhanden ist. Darüber hinaus weist er einige Action-Methoden auf, die MVC 6 anhand der besprochenen Route auf U...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang