Dotnet-api-boilerplate
A .Net 5.0 WebAPI -Boilerplate / Vorlageprojekt. Repositorys, Prahlerei, Mapper, Serilog und mehr implementiert.
Ziel dieses Projekts ist es, Ihr .NET -Webapi ein Kickstart zu sein, wobei die häufigsten verwendeten Muster und Technologien für eine erholsame API in .NET implementiert werden und Ihre Arbeit erleichtert werden.
Wie man rennt
- Verwenden Sie diese Vorlage (GitHub) oder klonen/download an Ihren lokalen Arbeitsplatz.
- Laden Sie den neuesten .NET SDK und Visual Studio/Code herunter.
Eigenständig
- Möglicherweise benötigen Sie eine laufende Instanz von MSSQL, wobei entsprechende Migrationen initialisiert wurden.
- Sie können nur die DB auf Docker ausführen. Dafür müssen Sie Ihre Verbindungszeichenfolge in "Server = 127.0.0.1; Database = Master; User = SA; Passwort = YourPassword123" ändern und den folgenden Befehl ausführen:
docker-compose up -d db-server . Da die Anwendung in der Lage ist, den Container des DB -Servers zu erreichen. - Wenn Sie möchten, können Sie die Datenbank für die Verwendung von UseInMemoryDatabase anstelle von MSSQL ändern.
- Gehen Sie zum Ordner SRC/Boilerplate.api und führen Sie
dotnet run aus oder setzen Sie das API -Projekt in Visual Studio als Startup und führen Sie als Konsole oder Docker (nicht IIS) aus. - Besuchen Sie http: // localhost: 5000/api-docs oder https: // localhost: 5001/api-docs, um auf die Prahlerei der Anwendung zuzugreifen.
Docker
- Führen Sie
docker-compose up -d oder stellen Sie das Docker-Compose-Projekt in Visual Studio als Startup und Ausführen ein. Dies sollte die Anwendung und die DB starten.
- Für Docker-Compose sollten Sie diesen Befehl im Root-Ordner ausführen:
dotnet dev-certs https -ep https/aspnetapp.pfx -p yourpassword Ersetzen Sie "IhrPassword" mit etwas anderem in diesem Befehl und der Docker-compose.override.yml-Datei. Dadurch wird das HTTPS -Zertifikat erstellt.
- Besuchen Sie http: // localhost: 5000/api-docs oder https: // localhost: 5001/api-docs, um auf die Prahlerei der Anwendung zuzugreifen.
Auslauftests
Führen Sie im Root -Ordner dotnet test aus. In diesem Befehl wird versucht, alle mit der SLN -Datei verbundenen Testprojekte zu finden.
Dieses Projekt enthält:
- Swaggerui
- EntityFramework
- Automapper
- Generisches Repository (um ein CRUD -Repository einfach zu starten)
- Serilog mit Anforderungsprotokollierung und leicht konfigurierbaren Waschbecken
- .NET -Abhängigkeitsinjektion
- Ressourcenfilterung
- Antwortkomprimierung
- CI (Github -Aktionen)
- Unit -Tests
- Integrationstests
- Containerunterstützung mit Docker und Docker-Compose
Projektstruktur
- Dienstleistungen
- Dieser Ordner speichert Ihre APIs und jedes Projekt, das Daten an Ihre Benutzer sendet.
- Boilerplate.api
- Dies ist das Haupt -API -Projekt. Hier sind alle Controller und Initialisierung für die API, die verwendet werden.
- Docker-Compose
- Dieses Projekt besteht, damit Sie Docker-Compose mit Visual Studio ausführen können. Es enthält einen Verweis auf die Docker-Compose-Datei und erstellt alle Projekteabhängigkeiten und führen sie aus.
- Anwendung
- Dieser Ordner speichert alle Datentransformationen zwischen Ihrer API und Ihrer Domänenschicht. Es enthält auch Ihre Geschäftslogik.
- Domain
- Dieser Ordner enthält Ihre Geschäftsmodelle, Enums und gemeinsame Schnittstellen.
- Boilerplate.domain.core
- Enthält die Basisentität für alle anderen Domänenentitäten sowie die Schnittstelle für die Repository -Implementierung.
- Kesselplatte.Domain
- Enthält Geschäftsmodelle und Aufzüge.
- Infra
- Dieser Ordner enthält alle Datenzugriffsrepositories, Datenbankkontexte, alles, was nach externen Daten reicht.
- Kesselplatte.infrastruktur
- Dieses Projekt enthält den DBContext, eine generische Implementierung des Repository -Musters und ein Helden -Repository (Domain Class).
Adoption zu Ihrem Projekt
- Entfernen Sie alle Heldenbezogenen Dinge in Ihre Bedürfnisse.
- Benennen Sie Lösung, Projekte, Namespaces und Regeln in Ihre Verwendung um.
- Ändern Sie die Dockerfile und Docker-compose.yml in Ihre neuen CSProj/Ordnernamen.
- Geben Sie diesem Repo einen Stern!
Migrationen
Führen Sie den folgenden Befehl im Root -Ordner aus, um Migrationen in diesem Projekt auszuführen:
-
dotnet ef migrations add InitialCreate --startup-project .srcBoilerplate.Api --project .srcBoilerplate.Infrastructure
In diesem Befehl wird der Eintragspunkt für die Migration festgelegt (die für die Auswahl der DBProvider {SQLServer, MySQL usw. usw. und die Verbindungszeichenfolge) und das Projekt selbst ist die Infrastruktur, in der sich der DBContext befindet.
Wenn es Ihnen gefällt, gib ihm einen Stern
Wenn diese Vorlage für Sie nützlich war oder wenn Sie etwas gelernt haben, geben Sie ihr bitte einen Stern!
Danke
Dieses Projekt hat einen großen Einfluss von https://github.com/lkurzyniec/netcore-boilerplate und https://github.com/eduardopires/equinoxproject. Wenn Sie Zeit haben, besuchen Sie bitte diese Repos und geben Sie ihnen auch einen Stern!
Um
Diese Kesselplatte/diese Vorlage wurde von Yan Pitangui unter MIT -Lizenz entwickelt.