Eine einfache Web -API -Demo mit Swagger -Dokumentation, benutzerdefinierte Fehlerbehandlung, Unit -Tests, JSONPatch und ein HTTPCLient -Tester. Verfügt über YouTube-Videos im Tutorial-Stil für einige Themen.
Das Ziel dieses GitHub -Projekts ist es, eine einfache CRUD -Web -API -Anwendung mit zusätzlichen Tutorials (einschließlich YouTube -Videos) und Referenzen wie Swagger, Unit -Tests, JSONPatch, benutzerdefinierte Fehlerbehandlung und -anzeige, Client -Tester usw. zu demo.
Die Visual Studio -Lösung verfügt über drei Projekte: Contosopizza (Web API), Contosopizza.tests (Unit -Tests) und WebAPICLIENT (eine einfache Appclient -Konsole -App)

Die Controller-, Modell- und Serviceklassen mit ihrer Mitgliederzusammenfassung des Contosopizza -Web -API -Projekts sind unten aufgeführt.

Dies ist eine einfache Web -API, die dem Standard -CRUD -Muster (Erstellen, Lesen, Aktualisieren und Löschen) folgt. Demo -Bilder der API -Operationen werden nachstehend nach Kategorie gezeigt.






Hier sind einige Screenscors, die die Web -API -JsonPatch -Demo zeigen.


Hier ist die Codereferenz.
[
{
"value": "ModifiedPizza",
"path": "/name",
"op": "replace"
}
]

Dies ist ein großartiges Tutorial -Referenzvideo, wenn Sie mehr über das Setup, die Installation und die Verwendung von JSONPatch für Ihr Web -API -Projekt erfahren möchten.
Aktualisieren von Daten mit JSONPATCH | Anfängerserie zu Web -APIs
JSONPATCH IN ASP.NET CORE -Web -API
In diesem Tutorial- und Demo -Projekt wird angezeigt, wie ein einfacher benutzerdefinierter Fehlerhandler für das Contoso Pizza Web API -Projekt eingerichtet, konfiguriert und codiert wird.
Entwickler sollten unberührte Fehlerfehler planen. Das Contoso Pizza Web API -Projekt zeigt, wie das geht. In der Demo wird ein Endpunkt erstellt, der immer eine unberechtigte Ausnahme macht. Das Projekt verfügt über einen benutzerdefinierten Fehlercontroller, der die Ausnahmen übernimmt und protokolliert, bevor ein Standard -Problemmodellobjekt an den Benutzer zurückgegeben wird. Der Fehlercontroller ist in der Programmkonfiguration angegeben, um zu einem benutzerdefinierten Fehlercontroller zu übertragen, wenn Sie nicht in einer Entwicklungsumgebung ausgeführt werden. Die Entwicklungsumgebung wird in den Einstellungen für Debug -Startprofile angegeben, wobei der Standardwert der Produktion ist, sofern nicht anders angegeben.
Um die Unterschiede in der Fehleranzeige zwischen Entwicklung und Produktion zu sehen, führen Sie zuerst die API im Entwicklungsmodus aus. Testen Sie den Endpunkt, der immer eine ungehörte Ausnahme auslöst. In der Swagger -Benutzeroberfläche können Sie die Antwort- und Ausnahmedetails sehen. Das Browserfenster verfügt über eine separate und elegante Entwickleransicht der Fehlerergebnisse.
Um die API im Produktionsmodus auszuführen, entfernen Sie die Umgebungsvariable oder stellen Sie den Wert manuell auf die Produktion ein. Da die Swagger UI nicht im Produktionsmodus ausgeführt wird, müssen Sie den API -Endpunkt manuell mit einer URL testen. Das Endergebnis für den Benutzer ist ein allgemeiner Fehler mit einer Kennung. Ein Benutzer würde mit diesen Informationen ein Problemschicker genommen. Das Unternehmen könnte dann eine detaillierte Fehlerbehebung abschließen, die der Fehlerkennung mit detaillierterer interner Protokollierung entspricht.

In diesem Tutorial- und Demo -Projekt werden Sie angezeigt, wie Sie die Dokumentation von Swagger in Ihrem Entwickler -Webapi -Projekt hinzufügen, einrichten, konfigurieren und überprüfen. Die endgültigen Ergebnisse sind in diesem Code -Repo.
Swashbuckle und Swagger sind zwei beliebte Tools, die zur Generierung von Entwicklerdokumentationen für Web -APIs verwendet werden. SWASHBUCKLE ist ein Paket, das einem ASP.NET -Web -API -Projekt hinzugefügt werden kann, um die SWAGVE -Benutzeroberfläche zu integrieren. Es verfügt über drei Hauptkomponenten: Swashbuckle.aspnetcore.swagger, ein Swagger -Objektmodell und ein Middleware, um SwaggerDocument -Objekte als JSON -Endpunkte aufzudecken. Swashbuckle.aspnetcore.swaggergen, ein Prahlergenerator, der Swaggerdocument -Objekte direkt von Ihren Routen, Controllern und Modellen baut; und SWASHBUCKLE.aspnetcore.swaggerui, eine eingebettete Version des Swagger UI -Tools. Es interpretiert Swagger JSON, um eine reichhaltige, anpassbare Erfahrung zur Beschreibung der Web -API -Funktionalität zu erstellen. Swagger (OpenAPI) ist eine sprachagnostische Spezifikation zur Beschreibung von REST-APIs. Es ermöglicht es sowohl Computern als auch Menschen, die Funktionen einer REST -API ohne direkten Zugriff auf den Quellcode zu verstehen. Seine Hauptziele sind es, die Arbeit zu minimieren, die für die Verbindung von entkoppelten Diensten erforderlich ist. ¹³

In diesem Tutorial- und Demo -Projekt wird angezeigt, wie ein einfaches HTTPCLISS für das Contoso Pizza Web API -Projekt eingerichtet, konfiguriert und codiert wird.
In diesem YouTube -Video lernen wir, wie Sie ein einfaches Konsolenanwendungsprojekt erstellen, das eine Verbindung zu einer Web -API herstellt und es testet. Das Video enthält eine kurze Demo des Projekts, das aus der API ausgeführt und ausgegeben wird. Wir erhalten die OpenAPI -Datei, indem wir unser WebAPI zuerst lokal ausführen, um die SWAGGE -Benutzeroberfläche anzuzeigen. Die JSON -Datei für unsere Web -API kann heruntergeladen und in unserem Projektverzeichnis gespeichert werden. Es gibt ein weiteres Video in der Playlist -Serie, in dem die Einrichtung und Konfiguration der Swagger -Dokumentation angezeigt wird. Der nächste Schritt besteht darin, unserer Lösung ein neues Konsolenantragsprojekt hinzuzufügen. Dies ist die HTTPClient -Anwendung, um eine Verbindung zu unserer Web -API herzustellen. Als nächstes werden wir eine OpenAPI -Dienstreferenz aus der zuvor gespeicherten Swagger UI JSON -Datei hinzufügen. Visual Studio wird die Client-Code-Klasse automatisch generieren, die für die Interaktion mit der Contoso-Pizza-Web-API erforderlich ist. Wir werden uns die automatisch generierte Codeklasse ansehen. Der Konstruktor benötigt sowohl eine httpclient -Objektinstanz als auch die Basis -URL der laufenden Web -API. Wenn Sie Ihre Web -API lokal ausführen, finden Sie dies aus dem Debug -Startprofil. Schließlich können wir unser Projekt so codieren, dass wir einen HTTPCLIENT- und Proxy -Service -Verweis auf die Contoso UI Pizza Web API erstellen und versuchen, einige Pizzas abzurufen. Stellen Sie sicher, dass die Web -API -Anwendung bereits lokal ausgeführt wird, bevor die Anwendung HTTPCLIENT CONSOL ausgeführt wird.

In diesem Tutorial und dem Demo -Projekt werden einfache Unit -Tests für ein WebAPI -Projekt eingerichtet, konfigurieren und codieren.
In diesem Video werden wir diskutieren, wie einfache Unit -Tests für eine Web -API mit CRUD Controller -Operationen geschrieben werden. Wir werden Xunit- und FakeItEasy -Pakete verwenden, um die Tests zu schreiben. Wir werden die Grundlagen von Unit -Tests abdecken, einschließlich der Einrichtung des Testprojekts, des Schreibens von Tests für jede CRUD -Operation und die Verwendung von Xunit und Fakeiteasy, um Mocks und Stubs zu erstellen. Wir werden auch Best Practices für das Schreiben von Unit -Tests diskutieren, z. B. Tests unabhängig und sicherstellen, dass sie leicht zu lesen und zu warten sind.

Obwohl Tutorials, Videos und Dokumentation verwiesen wurden, ist dieses Projekt kreativ mein eigener Code und Stil, um mein technisches Fachwissen zu demonstrieren und zum kollektiven technischen Wissen über Github beizutragen. Ich habe einige der Quellen aufgelistet, in denen ich einige Code -Beispiele und -Kissen gezogen habe.
Anfängerserie zu: Web -APIs
Microsoft Learn - Erstellen Sie eine Web -API mit ASP.NET -Core -Controllern
Quelle: Gespräch mit Bing, 10.10.2023 (1) Beginnen Sie mit Smashbuckle und ASP.Net Core. https: //learn.microsoft.com/en-us/asp .... (2) ASP.NET Core Web API-Dokumentation mit Swagger/OpenAPI. https: //learn.microsoft.com/en-us/asp .... (3) Was ist Swagger, Swashbuckle und Swashbuckle UI. https: //stackoverflow.com/questions/4 .... (4) Verbesserung der Entwicklererfahrung einer API mit Swagger-Dokumentation .... https: //learn.microsoft.com/en-us/tra .... ASP.Net Core-Dokumentation auf GitHub
JSONPATCH IN ASP.NET CORE -Web -API