Dieses Projekt beabsichtigt, ein grundlegendes ASP.NET -Core -Webapi -Chassis zu erstellen, um die Aufgabe von Rampup -API -Entwicklungsmustern zu implementieren, die auf Herokus 12Faktor, Richardsons Microservices.io, OpenAPI -Spezifikation sowie Microsoft -Implementierungs- und Entwurfsvoraussetzungen aufgeführt sind. Es wurde um .NET 5 Framework erstellt und ist bereit, neben Tools wie Konfigurationsmanagement, Protokollierung und Caching auf Docker -Stack auszuführen.
Die Installation und Ausführung der neuesten stabilen Version dieser Vorlage Führen Sie einfach die Following -Befehle aus:
dotnet new install Xopz.Templates.Api
dotnet new apichassis --name MyApiHier ist eine Liste der bereits implementierten Muster.
| Muster | Beschreibung |
|---|---|
| API -Chassis | Dieses Projekt selbst ist iter, um Einrichtungen zu beheben, die im Microservices -Chassis -Muster von Richardson vorgeschlagen wurden. Auswahl des Service -API -Projekttyps, der die Themen des 12 -Faktor -Faktors VI, VII und VIII angibt. |
| API -Metriken | Dieses Projekt implementiert HealthCheck über Dotnets app.UseHealthChecks() über Dotnets App. |
| API -Versioning | Dieses Projekt implementiert URL -Versioning für APIs |
| Hassoas | In Arbeit dieses Projekts bietet eine Alternative zum Anfordern von Daten mit Links, wie in der Webverknüpfungsspezifikation erwähnt und von Microsoft empfohlen. |
| OAS 3.0 | Dieses Projekt folgt der dritten Version der OpenAPI -Spezifikation für die API -Dokumentation. |
| AUSRUHEN | Diese API implementiert die REST -Leitlinien für die Verarbeitungsanforderung. Daher folgt sie bei der Sende einer Antwort und den Empfehlungen von Microsoft, um die Empfehlungen von Microsoft zu befolgen |
Diese Vorlage und Implementierung basiert auf .NET 5
Die durchschnittlichen Lösungen befinden sich im source . Jede Lösung sollte in Visual Studio oder Code zum Bearbeiten, Kompilieren und Debugieren geöffnet werden können. Um das aktuelle Projekt aus der Befehlszeile zu erstellen, verwenden Sie den Befehl follwing:
dotnet build ./source/ApiChassi/ApiChassi.slnDie Projekte sollten mit einem grundlegenden Satz von Unit -Tests vorgestellt werden und sie sind in der Vorlage enthalten. Sie können auch mit dem folgenden Befehl allein ausgeführt werden:
dotnet test ./source/ApiChassi/ApiChassi.slnUm das Nuget -Paket zu erstellen, verwenden wir Docker -Bilder. Es gibt vordefinierte Skripte, um das erforderliche Nuget Tool Docker -Bild zu erstellen und die Nuget als Vorlage zu packen. Lokal herstellen und bauen (sogar unter Linux oder macOS):
# EXECUTE THE FOLLOWING COMMANDS AT THE ROOT FOLDER
# CREATES A DOCKER IMAGE LOCALLY TO PACK THE SOURCE
./.environment/scripts/make_nuget.cmd
# CREATES THE NUPKG
./.environment/script/make_package.cmd Für lokale Tests ist es möglich, die nupkg -Datei aus dem Ordner zu installieren. Führen Sie dazu den folgenden Befehl aus:
dotnet new --install ./Xopz.Templates.Api.0.0.1.nupkg
# CHECK INSTALLED TEMPLATES
dotnet new --list | grep XOPZ
# CREATE SOLUTION FROM TEMPLATE
dotnet new apichassis --name MyApiSo entfernen Sie die installierte Vorlage - von nuget.org oder lokal - Verwenden Sie:
dotnet new --uninstall Xopz.Templates.Api