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.
(Bild: Shutterstock)
- 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.
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
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.
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
undMain()
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.
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.
(rme)