Tipps und Tricks rund um .NET und Visual Studio

OData mit ASP.NET Web API
Kommentare

Dr. Holger Schwichtenberg (MVP) und FH-Prof. Manfred Steyer teilen in der Kolumne „.NETversum“ ihr Expertenwissen rund um .NET-Tools und WPF mit.

Die Methode GetHotels im nachfolgenden Listing, die aus einem ASP.NET-Web-API-Service entnommen wurde, sieht auf den ersten Blick nicht sonderlich aufregend aus. Bei genauerer Betrachtung fällt jedoch auf, dass sie mit dem Attribut Queryable annotiert wurde und ein IQueryable zurückgibt. Dieses Sub-Interface von IEnumerable repräsentiert Abfragen, zum Beispiel solche, die sich auf O/R-Mapper, wie Entity Framework, abstützen. Abfragen dieser Art können auch um weitere Einschränkungen oder Sortierungen erweitert werden. Genau dies macht sich das Web-API zu Nutze, um dem Aufrufer eines REST-Service die Möglichkeit zu bieten, zur Verfügung stehende Daten durch eigene Abfragen zu filtern bzw. zu sortieren. Zur Definition dieser Abfragen kommt der Standard OData zum Einsatz. Zur Demonstration beinhaltet das darauffolgende Listing einen URL, der zum einen diese Methode adressiert und zum anderen URL-Parameter gemäß OData zur Einschränkung und Sortierung der zur Verfügung stehenden Daten beinhaltet. Hierbei wird nach Hotels mit 4 Sternen gefiltert und nach der Bezeichnung absteigend sortiert:

[Queryable]
public IQueryable GetHotels()
{
    var rep = new HotelRepository();
    return rep.FindAll();
}

Leider konnte die OData-Unterstützung nicht rechtzeitig fertiggestellt werden und befindet sich somit nicht in der aktuellen Version der ASP.NET-Web-API. Allerdings kann die aktuelle Vorabversion, die das hier beschriebene Szenario unterstützt, via NuGet bezogen werden. Das einzubindende Package trägt den Namen Microsoft.AspNet.WebApi. OData:

 http://localhost:3239/tickets?$filter=Sterne eq 4&$orderby=Bezeichnung desc

Autoren

Dr. Holger Schwichtenberg

Dr. Holger Schwichtenberg

Dr. Holger Schwichtenberg, alias "der Dotnet-Doktor", ist technischer Leiter des auf .NET und Webtechniken spezialisierten Beratungs- und Schulungsunternehmens www.IT-Visions.de mit Sitz in Essen. Zudem arbeitet er als Entwicklungsleiter für .NET bei der 5Minds GmbH & Co KG (www.5Minds.de). Er gehört durch zahlreiche Fachbücher und Vorträge auf Fachkonferenzen wie der BASTA zu den bekanntesten Experten für .NET und Visual Studio in Deutschland. Von Microsoft ist er für sein .NET-Fachwissen seit vielen Jahren als Microsoft Most Valuable Professional (MVP) ausgezeichnet. Sein Weblog finden Sie unter http://www.dotnet-doktor.de.

2

2
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -