Neu in .NET 7.0 [14]: Stilauswahl für neue WebAPI-Projekte

Wer WebAPI-Projekte mit ASP.NET Core erstellt, hat die Wahl zwischen dem in .NET 6.0 eingeführten Minimal-API-Stil und dem ursprünglichen API-Stil.

In Pocket speichern vorlesen Druckansicht

(Bild: Shutterstock)

Lesezeit: 2 Min.
Von
  • Dr. Holger Schwichtenberg

Neben der im vorherigen Teil der Serie erwähnten Bevormundung der Entwickler und Entwicklerinnen hinsichtlich des Startcodes machte .NET 6.0 eine weitere Vorgabe, die nicht allen gefiel: Alle neuen WebAPI-Projekte mit ASP.NET Core verwendeten den in .NET 6.0 neuen API-Stil "Minimal APIs" ohne Controller-Klassen.

Der Dotnet-Doktor – Holger Schwichtenberg

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

In .NET 7.0 lässt Microsoft jetzt wieder die Wahl. An der Kommandozeile entsteht bei

dotnet new webapi

standardmäßig im neuen Projekt wieder ein Dateisystemordner /Controllers mit einer Controller-Klasse

Der neue Standard für WebAPI-Projekte ist wieder der alte Stil (Abb. 1).

Die Minimal-APIs gibt es nur noch, wenn man explizit den Parameter --use-minimal-apis hinzugibt:

dotnet new webapi --use-minimal-apis

In Visual Studio heißt die Option andersherum: "Use Controllers". Sie ist standardmäßig aber aktiv.

in Visual Studio muss man für die Minimal-APIs das Häkchen bei "Use Controllers" entfernen (Abb. 2).

Abbildung 3 zeigt zwei WebAPI-Projekte:

  • Links ist eine Minimal-API, aber mit Startklasse statt Top-Level-Statements zu sehen. Ein Verzicht auf class Program und Main() wäre möglich, indem man "Do not use top-level statements" deaktiviert.
  • Rechts findet sich der klassische Controller-Stil mit Trennung zwischen Startklasse und Controller-Klasse.

Minimal-API im Vergleich zum Controller-Stil – jeweils mit class Program und Main (Abb. 3)

Nun sind beide Stile noch mit der Option "Do not use top-level statements" kombinierbar. Wenn man "Do not use top-level statements" ausschaltet, erhält man keine Startklasse Program und keine Statische Main()-Methode mehr (siehe Abbildung 4). Insgesamt gibt es also nun vier Vorlagen für ASP.NET Core-basierte WebAPIs:

  • Controller-Stil mit Startklasse,
  • Controller-Stil mit Top-Level-Statements,
  • Minimal-API mit Startklasse
  • Minimal-API mit Top-Level-Statements.

Minimal-API im Vergleich zum Controller-Stil – jeweils mit Top-Level-Statements (Abb. 4)

(rme)