Blazor mit API -Starter! ? (.NET 7)?
Dies ist ein Starterprojekt / eine Starterprojekt / eine Vorlage, die aus einem Blazor -Frontend und einem ASP.NET -Kern -Backend besteht. Die Blazor -App in dieser Vorlage wird vom ASP.NET Core Server serviert.
Wenn dotnet run diese Lösung ausführen, setzen Sie das Serverprojekt bitte als Startprojekt ein, wenn Sie dies in Visual Studio ausführen oder diese über VS -Code ausführen
Übrigens! Fühlen Sie sich absolut frei, dieses Repo zu gabel/klonen und es remixen, um Ihren eigenen Starter zu erstellen.
Was müssen Sie dieses Starterprojekt ausführen?
- Das Net 7 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VS Code oder Visual Studio 2022 (aktuelle neueste, können Sie die Vorschau verwenden, aber ich habe dies nur auf aktuell getestet)
- Sollte in der Lage sein, unter Windows/Mac/Linux auszuführen (ich habe dies nicht getestet, nur die Fähigkeit von .NET 7, Cross -Plattform zu sein), lassen Sie es mich bitte wissen, da es möglicherweise eine Einstellung oder eine dumme Konfiguration gibt, die mir fehlt.
Auf einen Blick enthält dieses Projekt:
- Ein Blazor -Client (mit den Standard -Blazor -Projektstücken abzüglich der Weatherapi -Bits)
- ASP.NET CORE Server (API)
- Ein gemeinsames Projekt (zum Teilen von Code und Diensten zwischen Frontend und Backend)
- Testen Sie Projekte Client, Server und Freigabe
Was ist also konfiguriert?
- Alle Projekte zielen auf .net 7 ab
- Alle Testprojekte sind für die Verwendung von Xunit konfiguriert und enthalten MOQ für verspottete Abhängigkeiten.
- Das Blazor -Testprojekt verfügt über Bunit zum Testen von Seiten und Komponenten
- Das Server-Testprojekt enthält eine Leuchte, bei der eine Datenbank für die Entitäts-Framework-Kerndatenbank in der Memory erstellt wird (siehe Beispiel in der inmemoryDBTests.cs-Datei des Server-Tests). Dadurch können Sie ohne physische DB testen!
- Das Client-Projekt hat ein Beispiel für einen typisierten HTTP-Client, der auf den Server aufgerufen werden kann, der in Ihre Komponenten und Seiten injiziert werden kann.
- Das Serverprojekt enthält Beispiele für:
- Ein Controller
- Ein Service
- Eine Middleware
- Ein DBContext (EF Core 7), der an einen SQLite-DB namens Beispiel gebunden ist.
- Verwendung von Automapper
Technologien / Libs auf einen Blick aufgenommen.
- Entity Framework Core 7
- MOQ
- Automapper
- Fluentvalidation & Blazed.fluentvalidation (was so gut bin, habe ich sogar beigetragen: D, fluentvalidation ist meine Präferenz für den Austausch des Standard -Systems.
- Bunit
- Xunit
- System.Text.json
- Microsoft.extensions.http (zum Konfigurieren von httpclient und httpMessageHandler in IHTTPClientFactory bietet für mich die nette dienste.addhttpclient -Methode zum Hinzufügen von httpclients to di i verwenden im Client/Programm.cs Startup).